ping命令工作原理詳細(xì)解析

字號(hào):

內(nèi)容簡介:
     ping的原理就是首先建立通道,然后發(fā)送包,對(duì)方接受后返回信息,這個(gè)包至少包括以下內(nèi)容,發(fā)送的時(shí)候,包的內(nèi)容包括對(duì)方的ip地址和自己的地址,還有序列數(shù),回送的時(shí)候包括雙方地址,還有時(shí)間等,主要是接受方在都是在操作系統(tǒng)內(nèi)核里做好的,時(shí)刻在監(jiān)聽,提供一段c程序的代碼,希望對(duì)大家有用。
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #define PACKET_SIZE 4096
    #define MAX_WAIT_TIME 5
    #define MAX_NO_PACKETS 3
    char sendpacket[PACKET_SIZE];
    char recvpacket[PACKET_SIZE];
    int sockfd,datalen=56;
    int nsend=0,nreceived=0;
    struct sockaddr_in dest_addr;
    pid_t pid;
    struct sockaddr_in from;
    struct timeval tvrecv;