dannagle / PacketSender

Network utility for sending / receiving TCP, UDP, SSL, HTTP
https://packetsender.com
GNU General Public License v2.0
2.38k stars 371 forks source link

[IDEA] Support Intense Traffic Generator on command line #235

Closed markmandel closed 2 years ago

markmandel commented 3 years ago

Desktop, Mobile, Command Line? Command line

Describe your idea The intense traffic generator is great, but I'm trying to automate some performance testing, so I need it to be supported on the command line for my purposes.

Something like (total sacrificial draft):

packetsender --bind 7000 --ipv4 -u -w 1000 --intense true --delay 50 --timeout 10m 127.0.0.1 7000 hello

Where --intense enables the generate. --delay would be in ms, or --speed could be supplied. To tell the system when to stop, --timeout could be supplied and/or --count which would be the total number of packets sent.

All other commands could stay the same.

Thanks for building an great tool! On the GUI side, this fits my needs perfectly!

dannagle commented 3 years ago

Hello @markmandel,

This is an excellent an idea. It is so excellent, it is already on the roadmap and 90% developed! Great minds think alike, right? 😃 . Your proposed command line args are not the same as mine, but I think you can make them work for your needs.

I was not planning for that particular feature for the next release. However, I could bump this to next release if you are willing to help me. I am in desperate need of more alpha testers. The next release is a major update: Version 8. Packet Sender is currently v7.x.

Would you be willing to help me test the alpha? I can add you to the current list and then add the CLI version of the intense traffic generator for the next release. All I need is for you to play with the alphas and send me an email of your thoughts. I am planning for 3 alphas. We are currently testing alpha 1. Alpha 2 could potentially have the CLI traffic generator feature.

If you simply don't have the time / don't like alpha software, that's cool. I understand. I do appreciate this feedback, and I will definitely ping this GitHub ticket when that CLI feature is added.

Thanks, Dan

markmandel commented 3 years ago

I'm already setup to compile against master -- I wanted to see if the debian package version had different command line args than what was most recently released. So if there is something in master you want me to test, just let me know and I can make a build and take it for a spin 👍🏻

In the short term I'm working with iperf3 to do my load tests.

dannagle commented 3 years ago

The alphas mostly follow the development branch though the CLI traffic generator has not been merged into that yet. I am currently creating binaries for Windows and Mac. If you compile development, you will be ahead, which is OK. You will just be extreme bleeding edge.

If you would like to follow along with the alphas, send an email to hello@packetsender.com

Thanks!

markmandel commented 3 years ago

For now I've solved my problem with iperf3, but if this feature drops into this repo, I would love an update on this issue, and I can take it for a spin 👍🏻

dannagle commented 3 years ago

This feature is now ready for alpha testing. If you will send an email to hello@packetsender.com , I can get an alpha to you.

New help options.

Options:
  --bps <bps>               Intense traffic. Calculate rate based on value of
                            bits per second.
  --num <number>            Intense traffic. Number of packets to send. Default
                            unlimited.
  --rate <Hertz>            Intense traffic. Rate. Ignored in bps option.
  --usdelay <microseconds>  Intense traffic. Resend delay. Used if rate is 0.
                            Ignored in bps option.
dannagle commented 2 years ago

Feature has been published.