UDP Packet Generator for many conntrack table.
It can generate about 5000 packet/sec.
gcc udppacketgen.c -o udppacketgen
udppacketgen [-i] --saddr_start <IP> [--saddr_end <IP>] [--sport_start <port>] [--sport_num <num>] --daddr_start <IP> [--daddr_end <IP>] [--dport_start <port>] [--dport_num <num>]
-i : show acccess message (slow)
--saddr_start : Start Address of source
--saddr_end : End Address of source (default : same saddr_start)
--sport_start : Port number of source (default : 10000)
--sport_num : Use Number of source Port (default : 1)
--daddr_start : Start Address of dource
--daddr_end : End Address of dource (default : same daddr_start)
--dport_start : Port number of dource (default : 10000)
--dport_num : Use Number of dource Port (default : 1)
- まず自身に使用するsource IPをすべて設定しておく。
- 通信先にもdest IPをすべて設定しとく。
- 設定したsource IPの範囲, source portの範囲, dest IPの範囲, dest portの範囲を指定してコマンド実行
$ time ./udppacketgen --saddr_start 192.168.101.60 --daddr_start 192.168.101.142 --dport_num 30000
finished : send 30000 packets
real 0m0.314s
user 0m0.012s
sys 0m0.299s
source IP : 192.168.101.60 1IP
source port : 10000 1port (default値)
dest IP : 192.168.101.142 1IP
dest port : 10000 (default値) - 40000
で全30000パケットを送出
$ ./udppacketgen -i --saddr_start 10.1.0.10 --saddr_end 10.1.0.12 \
--sport_start 10000 --sport_num 2 \
--daddr_start 10.2.0.10 --daddr_end 10.2.0.13 \
--dport_start 20000 --dport_num 3
src 10.1.0.10:10000, dst 10.2.0.10:20000
src 10.1.0.10:10000, dst 10.2.0.10:20001
src 10.1.0.10:10000, dst 10.2.0.10:20002
src 10.1.0.10:10001, dst 10.2.0.10:20000
src 10.1.0.10:10001, dst 10.2.0.10:20001
src 10.1.0.10:10001, dst 10.2.0.10:20002
src 10.1.0.10:10000, dst 10.2.0.11:20000
src 10.1.0.10:10000, dst 10.2.0.11:20001
src 10.1.0.10:10000, dst 10.2.0.11:20002
src 10.1.0.10:10001, dst 10.2.0.11:20000
src 10.1.0.10:10001, dst 10.2.0.11:20001
src 10.1.0.10:10001, dst 10.2.0.11:20002
src 10.1.0.10:10000, dst 10.2.0.12:20000
src 10.1.0.10:10000, dst 10.2.0.12:20001
src 10.1.0.10:10000, dst 10.2.0.12:20002
src 10.1.0.10:10001, dst 10.2.0.12:20000
src 10.1.0.10:10001, dst 10.2.0.12:20001
src 10.1.0.10:10001, dst 10.2.0.12:20002
src 10.1.0.10:10000, dst 10.2.0.13:20000
src 10.1.0.10:10000, dst 10.2.0.13:20001
src 10.1.0.10:10000, dst 10.2.0.13:20002
src 10.1.0.10:10001, dst 10.2.0.13:20000
src 10.1.0.10:10001, dst 10.2.0.13:20001
src 10.1.0.10:10001, dst 10.2.0.13:20002
src 10.1.0.11:10000, dst 10.2.0.10:20000
src 10.1.0.11:10000, dst 10.2.0.10:20001
src 10.1.0.11:10000, dst 10.2.0.10:20002
src 10.1.0.11:10001, dst 10.2.0.10:20000
src 10.1.0.11:10001, dst 10.2.0.10:20001
src 10.1.0.11:10001, dst 10.2.0.10:20002
src 10.1.0.11:10000, dst 10.2.0.11:20000
src 10.1.0.11:10000, dst 10.2.0.11:20001
src 10.1.0.11:10000, dst 10.2.0.11:20002
src 10.1.0.11:10001, dst 10.2.0.11:20000
src 10.1.0.11:10001, dst 10.2.0.11:20001
src 10.1.0.11:10001, dst 10.2.0.11:20002
src 10.1.0.11:10000, dst 10.2.0.12:20000
src 10.1.0.11:10000, dst 10.2.0.12:20001
src 10.1.0.11:10000, dst 10.2.0.12:20002
src 10.1.0.11:10001, dst 10.2.0.12:20000
src 10.1.0.11:10001, dst 10.2.0.12:20001
src 10.1.0.11:10001, dst 10.2.0.12:20002
src 10.1.0.11:10000, dst 10.2.0.13:20000
src 10.1.0.11:10000, dst 10.2.0.13:20001
src 10.1.0.11:10000, dst 10.2.0.13:20002
src 10.1.0.11:10001, dst 10.2.0.13:20000
src 10.1.0.11:10001, dst 10.2.0.13:20001
src 10.1.0.11:10001, dst 10.2.0.13:20002
src 10.1.0.12:10000, dst 10.2.0.10:20000
src 10.1.0.12:10000, dst 10.2.0.10:20001
src 10.1.0.12:10000, dst 10.2.0.10:20002
src 10.1.0.12:10001, dst 10.2.0.10:20000
src 10.1.0.12:10001, dst 10.2.0.10:20001
src 10.1.0.12:10001, dst 10.2.0.10:20002
src 10.1.0.12:10000, dst 10.2.0.11:20000
src 10.1.0.12:10000, dst 10.2.0.11:20001
src 10.1.0.12:10000, dst 10.2.0.11:20002
src 10.1.0.12:10001, dst 10.2.0.11:20000
src 10.1.0.12:10001, dst 10.2.0.11:20001
src 10.1.0.12:10001, dst 10.2.0.11:20002
src 10.1.0.12:10000, dst 10.2.0.12:20000
src 10.1.0.12:10000, dst 10.2.0.12:20001
src 10.1.0.12:10000, dst 10.2.0.12:20002
src 10.1.0.12:10001, dst 10.2.0.12:20000
src 10.1.0.12:10001, dst 10.2.0.12:20001
src 10.1.0.12:10001, dst 10.2.0.12:20002
src 10.1.0.12:10000, dst 10.2.0.13:20000
src 10.1.0.12:10000, dst 10.2.0.13:20001
src 10.1.0.12:10000, dst 10.2.0.13:20002
src 10.1.0.12:10001, dst 10.2.0.13:20000
src 10.1.0.12:10001, dst 10.2.0.13:20001
src 10.1.0.12:10001, dst 10.2.0.13:20002
finished : send 72 packets
source IP : 10.1.0.10 - 10.1.0.12 (3IP)
source port : 10000 - 10001 ( 2ports )
dest IP : 10.1.0.10 10.1.0.13 ( 3IPs )
dest port : 20000 - 20002 (3 ports)
の計72パケットを送出
自身にIPがなかった時の処理とかのエラー処理はあまり考慮していない