不錯的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 bitsIP 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 Address9~16bits都要做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

-pdestination port, 192.168.99.15是目的端IP

-1是只傳送1個封包(因為程式寫在-r底下,所以目前指令都要加上-r)。

執行方式(遞迴的送封包):./fudp -r -p 53 192.168.99.15

 

最近我又將 -r 中改成不是一直遞迴的送packets,而是送 10^9 個 packets!!~

 

創作者介紹
創作者 Wayne Technique Study 的頭像
Wayne

Wayne Technique Study

Wayne 發表在 痞客邦 留言(0) 人氣( 37 )