婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux下編寫網絡抓包程序代碼

Linux下編寫網絡抓包程序代碼

熱門標簽:大連遼寧電銷機器人 地圖標注機位 為什么地圖標注后不顯示 好操作的電話機器人 了不起的修仙模擬器地圖標注 谷歌美發店地圖標注入駐 400電話辦理 誠薦翰諾科技 電話機器人客戶對話 地圖標注路線軟件
類UNIX操作系統上提供了三種不同的方式訪問數據鏈路層,分別是BSD的BSD分組過濾器(BPF)、SVR4的數據鏈路提供者接口(DLPI)和Linux的SOCK_PACKET接口。幸運的是,程序員不需要了解這些不同接口的細節,直接使用Libpcap函數庫就可以。
Libpcap是一個提供了針對網絡數據包捕獲系統的高層接口的開源函數庫。其作用是提供獨立于平臺的應用程序接口,以消除程序中針對不同操作系統所包含的數據包捕獲代碼模塊。這樣以來,就解決了程序移植性的問題,有利于提高開發的效率。
Libpcap運行于大多數類UNIX操作系統上,完整的文檔和源碼可以從tcpdump的官方網站上獲得: http://www.tcpdump.org 其Windows版本 Winpcap可已從 http://www.winpcap.org獲取。下面介紹如何使用Libpcap來捕獲數據包
char *pcap_lookupdev(char *errbuf);
功能:查找用于捕獲數據包的缺省設備
errbuf :錯誤時保存出錯信息
返回值:成功時返回設備名稱;出錯時返回NULL
pcap_t *pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *errbuf);
功能:打開用于捕獲數據包的網絡設備
device:設備名稱
snaplen:要捕獲的數據包的最大字節數
prosmic:網絡設備工作模式(0表示非混雜模式,其他值表示混雜模式)
to_ms: 從內核空間復制數據前等待的時間
err_buf:錯誤時保存出錯信息
返回值:成功時返回pcap_t類型的接口描述符(句柄);出錯時返回NULL
const u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h);
功能:捕獲下一個數據包
p:接口描述符
h:捕獲的數據包的信息
返回值:成功時返回指向捕獲的數據的指針;出錯時返回NULL
typedef void (*pcap_handler)(u_char *user, const struct pcap_pkthdr *h, const u_char *bytes);
const u_char *pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user);
功能: 捕獲下一個數據包
cnt :要捕獲的數據包的個數
callback :捕獲到數據包時執行的回調函數
user:傳遞給回調函數的參數
返回值:成功時返回0;出錯時返回-1
int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask);
功能:創建過濾器
p :接口描述符
fp:指向保存過濾器的結構體的指針
str:要轉化的過濾規則
optimize: 過濾器是否要優化
netmask:網絡掩碼
返回值:成功時返回0;出錯時返回-1
int pcap_setfilter(pcap_t *p, struct bpf_program *fp);
功能: 安裝過濾器
p:接口描述符
fp:指向包含過濾器的結構體的指針
返回值:成功時返回0;出錯時返回-1
以下實例代碼實現捕獲并顯示3個ARP包

復制代碼
代碼如下:

#include stdio.h>
#include stdlib.h>
#include string.h>
#include pcap.h>
#define MAXBYTES2CAPTURE 2048
void ProcessPacket(u_char *arg, const struct pcap_pkthdr *pkthdr, const u_char *packet)
{
int i = 0, *counter = (int *)arg;
printf("Packet Count : %d\n", ++(*counter));
printf("Received Packet Size: %d\n", pkthdr->len);
printf("Payload:\n");
for (i=0; ipkthdr->len; i++)
{
printf("%02x ", (unsigned int)packet[i]);
if ( (i%16 = = 15 i != 0) || (i = = pkthdr->len -1))
{
printf("\n");
}
}
printf("\n\n************************************************\n");
return;
}
int main(int argc, char *argv[])
{
int i = 0, count = 0;
pcap_t *descr = NULL;
char errbuf[PCAP_ERRBUF_SIZE], *device = NULL;
bpf_u_int32 netaddr = 0, mask = 0;
struct bpf_program filter;
memset(errbuf, 0, sizeof(errbuf));
if (argc != 2)
{
device = pcap_lookupdev(errbuf);
}
else
{
device = argv[1];
}
printf("Try to open device %s\n", device);
if((descr = pcap_open_live(device, MAXBYTES2CAPTURE, 1, 0, errbuf)) = =NULL)
{
printf("error : %s\n", errbuf);
exit(-1);
}
pcap_lookupnet(device, netaddr, mask, errbuf);
if (pcap_compile(descr, filter, "arp and ether host 00:0c:29:b7:f6:33",0, mask) 0)
{
printf("pcap_compile error\n");
exit(-1);
}
pcap_setfilter(descr, filter);
pcap_loop(descr, 3, ProcessPacket, (u_char *)count);
return 0;
}

標簽:遼陽 南陽 大興安嶺 北海 延邊 眉山 龍巖 淘寶邀評

巨人網絡通訊聲明:本文標題《Linux下編寫網絡抓包程序代碼》,本文關鍵詞  Linux,下,編寫,網絡,抓包,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux下編寫網絡抓包程序代碼》相關的同類信息!
  • 本頁收集關于Linux下編寫網絡抓包程序代碼的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品1区2区| 人人精品人人爱| 91精品欧美福利在线观看| 三级久久三级久久| 国产99一区视频免费| 欧美日韩在线电影| 久热成人在线视频| 国产精品的网站| 国产美女精品人人做人人爽| 日韩三级视频在线看| 久久国产生活片100| av高清久久久| 91精选在线观看| 色综合视频在线观看| 欧美日韩一区二区三区四区五区| 日韩免费看网站| 久久99精品久久久久久国产越南 | 日本aⅴ亚洲精品中文乱码| 久草这里只有精品视频| 日韩精品一区国产麻豆| 日韩精品一二三| 日本道色综合久久| 91麻豆免费看片| 久久99精品一区二区三区| 麻豆精品久久久| 久久免费视频一区| 国产精品白丝在线| 91精品国产入口在线| 综合电影一区二区三区 | 欧美精品粉嫩高潮一区二区| 最新久久zyz资源站| 国产suv精品一区二区三区| 成人欧美一区二区三区| 成人黄色软件下载| 亚洲激情图片一区| 精品国产亚洲在线| 91黄色激情网站| 国产成a人无v码亚洲福利| 欧美日韩一区小说| 白白色 亚洲乱淫| 日本在线播放一区二区三区| 精品盗摄一区二区三区| 一本色道久久加勒比精品| 蜜桃精品在线观看| 婷婷综合另类小说色区| 亚洲欧洲99久久| 亚洲国产精品精华液2区45| 日韩午夜中文字幕| 成人综合婷婷国产精品久久蜜臀| 国产精品少妇自拍| 欧美精品久久久久久久久老牛影院| 蜜桃一区二区三区四区| 亚洲日本一区二区| 1024国产精品| 国产精品美女视频| 久久久久国产精品人| 91麻豆精品在线观看| 91黄色免费观看| 中文字幕一区二区三区视频| 91在线小视频| 中文字幕一区二区在线播放| 国产午夜精品一区二区三区视频| 日韩一区二区三| 精品一区二区三区久久久| 依依成人综合视频| 国产福利一区在线| 欧美综合在线视频| 日本成人在线一区| 欧美丝袜第三区| 欧美激情一区二区三区蜜桃视频| 日本网站在线观看一区二区三区| 51精品秘密在线观看| 青青草国产精品97视觉盛宴| 日韩一区国产二区欧美三区| 国产99久久久国产精品潘金网站| 日韩久久免费av| 成人晚上爱看视频| 亚洲精品美腿丝袜| 在线观看av一区二区| 麻豆国产精品视频| 国产亚洲精品久| 成人午夜电影久久影院| 亚洲6080在线| 99r精品视频| 欧美三区在线视频| 国产精品丝袜一区| 色婷婷综合在线| 午夜激情一区二区三区| 亚洲欧洲在线观看av| 亚洲午夜视频在线观看| 麻豆精品在线播放| 国产经典欧美精品| 欧美午夜一区二区三区| 欧美一区二区私人影院日本| 国产精品妹子av| 成人性生交大片| 欧美日韩精品欧美日韩精品一综合| 亚洲国产cao| 精品免费一区二区三区| 成人免费视频免费观看| 亚洲制服丝袜av| 日韩一二三区视频| 久久理论电影网| 国产精品久久久久久亚洲毛片| 色综合久久久久综合99| 三级久久三级久久久| 中文字幕精品一区二区精品绿巨人 | 国产精品视频你懂的| 色综合一个色综合亚洲| 国产精品久久国产精麻豆99网站| 欧美电视剧免费全集观看| 欧美mv和日韩mv的网站| 亚洲男人的天堂在线观看| 韩国欧美国产1区| 91精品国产乱码| 亚洲精品视频自拍| 色哟哟亚洲精品| 亚洲乱码中文字幕综合| 成人午夜免费av| 国产精品乱码妇女bbbb| 福利一区二区在线| 国产精品国产三级国产三级人妇 | 成人av网站免费观看| 欧美日韩综合一区| 亚洲午夜电影网| 国产精品欧美综合在线| 久久爱www久久做| 久久se精品一区精品二区| 日韩成人午夜精品| 亚洲风情在线资源站| 日韩精品一二三| 久久99精品国产| 久久aⅴ国产欧美74aaa| 日韩高清在线不卡| 成人综合在线观看| 成人精品gif动图一区| 成人手机电影网| 欧美偷拍一区二区| 欧美日韩一区不卡| 欧美日韩国产电影| 久久婷婷成人综合色| 亚洲一区二区中文在线| 国产精品私房写真福利视频| 精品久久久久久久久久久久包黑料 | 欧美mv日韩mv亚洲| 亚洲国产成人私人影院tom| 一区二区三区精密机械公司| 久久97超碰色| 在线成人高清不卡| 一区二区三区在线免费视频| 国产成人在线免费观看| 日韩欧美一区二区久久婷婷| 亚洲色欲色欲www在线观看| 高清国产一区二区| 国产性色一区二区| 国产成人精品三级| 欧美日韩在线一区二区| 国产精品萝li| 青青草国产成人99久久| 一本大道久久精品懂色aⅴ| 欧美一级午夜免费电影| 亚洲精品国产成人久久av盗摄| 蜜桃视频在线一区| 欧美日韩精品一区二区三区四区| 久久精品夜色噜噜亚洲a∨| 一区二区免费在线播放| 国产老女人精品毛片久久| 国产精品乱码人人做人人爱| 亚洲视频免费看| 国产精品乡下勾搭老头1| 制服丝袜成人动漫| 国产一区二区福利视频| 6080国产精品一区二区| 亚洲综合精品久久| 在线一区二区观看| 午夜精品久久久久久久蜜桃app| 91丝袜美腿高跟国产极品老师 | 亚洲综合成人网| www.亚洲色图| 亚洲丝袜精品丝袜在线| 色综合久久综合中文综合网| 亚洲精品一区二区三区蜜桃下载 | 久久免费视频一区| 国产 日韩 欧美大片| 一区二区三区国产豹纹内裤在线| 日本高清成人免费播放| 中文字幕亚洲区| 99精品偷自拍| 欧美96一区二区免费视频| 精品久久久网站| 成人久久久精品乱码一区二区三区| 亚洲欧美激情插| 欧美一卡二卡在线观看| 国产一区二区三区久久久| 综合久久久久久久| 91同城在线观看| 国产一区二区导航在线播放| 综合久久久久久| 久久久久久亚洲综合| 色哟哟日韩精品|