亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

linux - libpcap抓包結果不完整?

瀏覽:139日期:2024-07-03 18:58:02

問題描述

在ubuntu14.04下使用libpcap抓包,我想得到一段使用http傳輸的html,但是得到的結果和同樣情況下wireshark獲得的數據不一致。

目前代碼如下:

#include <pcap.h>#include <time.h>#include <stdlib.h>#include <stdio.h>#include <linux/if_ether.h>#include <linux/ip.h>#include <linux/tcp.h>#include <string.h>#include <netinet/in.h>void getPacket(u_char * arg, const struct pcap_pkthdr * pkthdr, const u_char * packet){ bpf_u_int32 caplen = pkthdr->caplen; bpf_u_int32 len = pkthdr->len; int * id = (int *)arg; struct iphdr *ip_header = (struct iphdr *)(packet + ETH_HLEN); struct tcphdr *tcp_header = (struct tcphdr *)(packet + ETH_HLEN + sizeof(struct iphdr)); const u_char *tcp_data = packet + ETH_HLEN + sizeof(struct iphdr) + sizeof(struct tcphdr); printf('%snn', tcp_data);}int main(){ char errBuf[PCAP_ERRBUF_SIZE]; pcap_t * device = pcap_open_live('wlan0', 65535, 1, 0, errBuf); if(!device) {printf('錯誤: pcap_open_live(): %sn', errBuf);exit(1); } struct bpf_program filter; pcap_compile(device, &filter, 'tcp port 80 and host 123.206.7.47', 1, 0); pcap_setfilter(device, &filter); int id = 0; pcap_loop(device, -1, getPacket, (u_char*)&id); pcap_close(device); return 0;}

服務器有一個簡單的html,我用瀏覽器訪問服務器http://123.206.7.47/test.html時,wireshark(同樣bpf)抓到這樣10個數據包:

linux - libpcap抓包結果不完整?

我的程序使用調試器看到的卻是這樣的,這個圖對應上圖第四個數據包(大小為474):

linux - libpcap抓包結果不完整?

為什么unsigned char * packet出現incomplete sequence?還有為什么tcp_data這么短?

是我代碼里libpcap少了什么配置還是其他的原因?

還有一點補充是我訪問其他網站時,偶爾能捕捉到完整的HTTP請求,但是在我訪問的那個網頁上就不行。

問題解答

回答1:

已經解決了。直接按caplen讀char就行了,printf('%s')輸出不全似乎是因為某個二進制數據是0被截斷。

相關文章:
主站蜘蛛池模板: 欧美在线综合 | 美女131爽爽爽做爰中文视频 | 国产在线不卡免费播放 | 性久久久久久久久 | 高清国产美女一级a毛片 | 看一级特黄a大一片 | 久久久久久国产精品免费免 | 久久久免费视频播放 | 亚洲国产精品91 | 亚洲免费视频在线观看 | 国产成人精品亚洲日本语音 | 怡红院成人网 | 免费人成年短视频在线观看网站 | 一级毛片aaa| a欧美视频| 草草影院在线播放 | 国产亚洲精品久久久久久无 | 久久黄色片 | 国产不卡在线播放 | 欧美一级在线 | 国产精品99 | 久久国产精品久久精品国产 | 手机看片神马午夜 | 亚洲男人的天堂久久香蕉 | 久久96国产精品久久久 | 波多野结衣在线观看高清免费资源 | 亚洲欧美日韩国产精品26u | 中文字幕日韩三级 | 亚洲一区 在线播放 | 久草欧美| 九九99| 精品亚洲福利一区二区 | 国产自线一二三四2021 | 老司机一级片 | 国产精品自在线 | 色综合久久久久 | 澳门毛片免费观看 | 国内精品久久久久久久亚洲 | 在线观看国产精品一区 | 国产网曝手机视频在线观看 | 一区免费在线观看 |