不錯的Open Source Project, 可自己在改其Source code,
底下我是改成可送random ip address(192.168.15.x)的封包
/wayne_code/fudp/fudp.c
char myIp[16]; // the IP address of the sender
const int myPort = 35315;
void setSenderIp()
{
int range, i;
char segment[4]; 最後8 bits的IP Address,等等要做random
const char IP[] = "192.168.";
初始化
// clear buffer
for(i = 0; i < sizeof(segment); i++)
{
segment[i] = '\0';
}
// clear buffer
for(i = 0; i < sizeof(myIp); i++)
{
myIp[i] = '\0';
}
// load the pre-defined part of IP address
strncpy(myIp, IP, strlen(IP)); //
// random a valid number
range = rand() % 254 + 1; 做random的地方(1~254)
sprintf(segment, "%d", range); Random出來的數值轉乘ASCII碼
// create the IP address
strncat(myIp, segment, strlen(segment)); 字串合併(將segment合併到myIp字串)
printf("myIp: %s, length: %d, sizeof: %d\n", myIp, strlen(myIp), sizeof(myIp));印出random出來的IP Address
這段是在做連IP Address第9~16個bits都要做random的時候所做的程式碼
// ceate the IP address, too
strncat(myIp, ".", strlen("."));
range = rand() % 254 + 1;
sprintf(segment, "%d", range);
strncat(myIp, segment, strlen(segment));
printf("myIp: %s, length: %d, sizeof: %d\n", myIp, strlen(myIp), sizeof(myIp));
// hard-coding IP address
//strncpy(myIp, "192.168.15.1", strlen("192.168.15.1")); 這個是直接寫死,不做random的程式碼
}
long long 可容納整數10^9
執行方式(只送單一個封包):
./fudp -1 -r -p 53 192.168.99.15
-p是destination port, 192.168.99.15是目的端IP
-1是只傳送1個封包(因為程式寫在-r底下,所以目前指令都要加上-r)。
執行方式(遞迴的送封包):./fudp -r -p 53 192.168.99.15
最近我又將 -r 中改成不是一直遞迴的送packets,而是送 10^9 個 packets!!~
請先 登入 以發表留言。