diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-24 16:03:58 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-24 16:03:58 +0000 |
| commit | 4739966e14ca2df24d4f44fb814b6275b9bf2a3c (patch) | |
| tree | 2398dee3380dfa48582a71a4f2d4278448fa6cb8 /src/tools/packetgen.c | |
| parent | 1ea859c431b33a384727c0016917dde15bceeff3 (diff) | |
| download | zcatch-4739966e14ca2df24d4f44fb814b6275b9bf2a3c.tar.gz zcatch-4739966e14ca2df24d4f44fb814b6275b9bf2a3c.zip | |
larger restructure to improve security
Diffstat (limited to 'src/tools/packetgen.c')
| -rw-r--r-- | src/tools/packetgen.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/tools/packetgen.c b/src/tools/packetgen.c new file mode 100644 index 00000000..dcfe0885 --- /dev/null +++ b/src/tools/packetgen.c @@ -0,0 +1,36 @@ +/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */ +#include <engine/e_system.h> + +enum { NUM_SOCKETS = 64 }; + +int run(NETADDR4 dest) +{ + NETSOCKET sockets[NUM_SOCKETS]; + int i; + + for(i = 0; i < NUM_SOCKETS; i++) + { + NETADDR4 bindaddr = {{0,0,0,0}, 0}; + sockets[i] = net_udp4_create(bindaddr); + } + + while(1) + { + unsigned char data[1024]; + int size = 0; + int socket_to_use = 0; + io_read(io_stdin(), &size, 2); + io_read(io_stdin(), &socket_to_use, 1); + size %= 256; + socket_to_use %= NUM_SOCKETS; + io_read(io_stdin(), data, size); + net_udp4_send(sockets[socket_to_use], &dest, data, size); + } +} + +int main(int argc, char **argv) +{ + NETADDR4 dest = {{127,0,0,1},8303}; + run(dest); + return 0; +} |