一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

利用libpcap分析網(wǎng)絡(luò)上的數(shù)據(jù)包(入門級(jí))

 astrotycoon 2016-10-12
),
    struct ether_header *eptr;//以太網(wǎng)字頭
    u_char *ptr;
    int i;
 
    if (packet == NULL)//packet里面有內(nèi)容,可以證明上面的猜想,
    {
        printf ("Didn't grab packet!/n");
        exit (1);
    }
    printf ("/n$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/n");
    printf ("Grabbed packet of length %d/n", hdr.len);
    printf ("Received at : %s/n", ctime((const time_t*)&hdr.ts.tv_sec));
    printf ("Ethernet address length is %d/n", ETHER_HDR_LEN);
    
    eptr = (struct ether_header*)packet;//得到以太網(wǎng)字頭
    
    if (ntohs(eptr->ether_type) == ETHERTYPE_IP)
    {
        printf ("Ethernet type hex:%x dec:%d is an IP packet/n",
                    ntohs(eptr->ether_type), ntohs(eptr->ether_type));
    }
    else 
    {
        if (ntohs(eptr->ether_type) == ETHERTYPE_ARP)
        {
            printf ("Ethernet type hex:%x dec:%d is an ARP packet/n",
                        ntohs(eptr->ether_type), ntohs(eptr->ether_type));
        }
        else
        {
            printf ("Ethernet type %x not IP/n", ntohs(eptr->ether_type));
            exit (1);
        }
    }
        
    ptr = eptr->ether_dhost;
    i = ETHER_ADDR_LEN;
    printf ("i=%d/n", i);
    printf ("Destination Address: ");
    do
    {
        printf ("%s%x", (i == ETHER_ADDR_LEN)?"":":", *ptr++);
    }while(--i>0);
    printf ("/n");
    //printf ("%x/n",ptr);
    
    ptr = eptr->ether_shost;
    i = ETHER_ADDR_LEN;
    printf ("Source Address: ");
    do
    {
        printf ("%s%x", (i == ETHER_ADDR_LEN)?"":":", *ptr++);
    }while(--i>0);
    printf ("/n");
    printf ("Now decoding the IP packet./n");
    ipptr = (struct iphdr*)    (packet+sizeof(struct ether_header));//得到ip包頭
    
    printf ("the IP packets total_length is :%d/n", ipptr->tot_len);
    printf ("the IP protocol is %d/n", ipptr->protocol);
    addr.s_addr = ipptr->daddr;
    printf ("Destination IP: %s/n", inet_ntoa(addr));    
    addr.s_addr = ipptr->saddr;
    printf ("Source IP: %s/n", inet_ntoa(addr));
    
    printf ("Now decoding the TCP packet./n");
    tcpptr = (struct iphdr*)(packet+sizeof(struct ether_header)
                                    +sizeof(struct iphdr));//得到tcp包頭
    printf ("Destination port : %d/n", tcpptr->dest);
    printf ("Source port : %d/n", tcpptr->source);
    printf ("the seq of packet is %d/n", tcpptr->seq);
//以上關(guān)于ip、tcp的結(jié)構(gòu)信息請(qǐng)查詢/usr/include/linux/ip.h | tcp.h
    
    data = (char*)(packet+sizeof(struct ether_header)+sizeof(struct iphdr)
                                    +sizeof(struct tcphdr));//得到數(shù)據(jù)包里內(nèi)容,不過一般為亂碼。
    
    printf ("the content of packets is /n%s/n",data);
}
int main(int argc, char **argv)
{
    int i;
    char *dev;
    char errbuf[PCAP_ERRBUF_SIZE];
    pcap_t *descr;
    const u_char *packet;
    struct pcap_pkthdr hdr;
    struct ether_header *eptr;
    
    if (argc != 2)
    {
        fprintf (stdout, "Usage: %s numpackets/n", argv[0]);
        return 0;
    }
    
    dev = pcap_lookupdev (errbuf);
    if (dev == NULL)
    {
        printf ("%s/n", errbuf);
        exit (1);
    }
    
    descr = pcap_open_live (dev, BUFSIZ, 1, -1, errbuf);
    //第三個(gè)參數(shù),1為混雜模式;0為非混雜模式
    //BUFSIZ同PCAP_ERRBUF_SIZE一樣,均為庫文件已經(jīng)定義好的,不推薦使用
    if (descr == NULL)
    {
        printf ("pcap_open_live(): %s/n", errbuf);
        exit (1);
    }
    pcap_loop (descr, atoi(argv[1]), my_callback, NULL);//調(diào)用回調(diào)函數(shù)
    
 
        
    printf("Hello world/n");
    return (0);
}
關(guān)于過濾機(jī)制,以后再寫

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    免费啪视频免费欧美亚洲| 国产肥妇一区二区熟女精品 | 日本黄色录像韩国黄色录像| 三级高清有码在线观看| 丰满人妻一二三区av| 国产欧美一区二区色综合| 亚洲人午夜精品射精日韩| 日本少妇中文字幕不卡视频| 真实国产乱子伦对白视频不卡| 草草视频精品在线观看| 亚洲熟女一区二区三四区| 大香蕉精品视频一区二区| 91爽人人爽人人插人人爽| 国产精品久久男人的天堂| 欧美激情床戏一区二区三| 中文人妻精品一区二区三区四区| 蜜桃传媒视频麻豆第一区| 色婷婷丁香激情五月天| 国产精品内射视频免费| 欧美综合色婷婷欧美激情| 亚洲高清亚洲欧美一区二区| 亚洲午夜福利不卡片在线 | 女人高潮被爽到呻吟在线观看| 99久久精品免费看国产高清| 美国黑人一级黄色大片| 国产精品一区二区丝袜| 国产精品亚洲欧美一区麻豆| 国产亚洲欧美日韩精品一区| 日韩人妻有码一区二区| 综合久综合久综合久久| 青青操在线视频精品视频| 国产精品一区二区三区日韩av| 亚洲国产天堂av成人在线播放| 国产丝袜女优一区二区三区| 欧美精品亚洲精品日韩精品| 久久99爱爱视频视频| 大香蕉久久精品一区二区字幕| 91亚洲精品综合久久| 欧美精品专区一区二区| 深夜日本福利在线观看| 国产伦精品一区二区三区精品视频|