pcap過濾規則
㈠ WinPcap能不能阻斷數據包
確實不能阻斷數據包,他是用來抓包的。
WinPcap產生的目的,就是為應用程序提供這種訪問方式; WinPcap提供了以下功能 :
捕獲原始數據包,無論它是發往某台機器的,還是在其他設備(共享媒介)上進行交換的
在數據包發送給某應用程序前,根據用戶指定的規則過濾數據包
將原始數據包通過網路發送出去
收集並統計網路流量信息
所以你只能用WINPCAP進行收發數據包,對你接收到的數據包進行過濾,或者統計你收到的數據包流量。所以你不能阻斷數據包的傳輸,而且他確實是個提取分析用。所以那個人說的很對。就算你篩選了你要收到的數據包,但是那也只是你所編輯的程序只提取你需要的數據包,實際上你相應的網卡上仍然收到了所有的數據包。你可以用WIRESHARK 軟體看到。winpcap抓包所能實現的功能基本,都在WIRESHARK上面體現了。都是winpcap還能發送數據包。
當然,如果你是網路高手,你可以根據不同傳輸協議,搞些MAC或IP欺騙,攔截一些不屬於你的數據包,但是這個就不是很容易辦到了。
你上面問道如何來丟棄數據包。。是丟棄你要發的數據包?還是丟棄你接收的數據包?
如果是丟棄接收的數據包的話,那就是篩選了過濾了,要用到 pcap_compile() 和 pcap_setfilter() 函數了。
如果是丟棄你要發送的數據包,數據包發送出去後就不收你控制了,你無法丟棄。如果你要編程,你可以進我的網路空間觀摩下。
㈡ winPcap 中pcap_compile函數的過濾規則
http://www.winpcap.org/docs/docs_40_2/html/group__wpcapfunc.html
http://www.winpcap.org/docs/docs_40_2/html/group__wpcapfunc.html#
http://stackoverflow.com/questions/11448369/pcap-compile-expression
google一下應該有你要的。
㈢ winpcap 埠問題
你用的是wondow7嗎?
㈣ 通過Wireshark抓包生成的PCAP文件,如何使用C#對這些包聯合Wireshark的過濾器進行解析
只想看到你設定了過濾條件的包就通過過濾介面設置就可以了,-也可以逐個打開並過濾這些包,並單獨存為一個PCAP文件,再用文件「合並」功能把它們放到一個文件裡面,這樣也很方便。
㈤ 在linux上tshark怎麼過濾
抓Mysql包命令如下:
tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
tshark -s 512 -i em1 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
過濾HTTP請求:
# tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -R 'http.request.method == "GET" || http.request.method == "HEAD"'
輸出:
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
0.000000 123.126.68.27 -> 173.255.196.50 HTTP GET /grep.html HTTP/1.1
12.066470 123.126.68.27 -> 173.255.196.50 HTTP GET /pro_lang.html HTTP/1.1
-s 512 :只抓取前個位元組數據
-i eth0 :捕獲eth0網卡
-n :禁止網路對象名稱解析
-f 'tcp dst port 3306' :只捕捉協議為tcp,目的埠為3306的數據包
-R 'mysql.query' :過濾出mysql.query
-T fields -e mysql.query :列印mysql查詢語句
tshark使用-f來指定捕捉包過濾規則,規則與tcpmp一樣,可以通過命令man pcap-filter來查得。
tshark使用-R來過濾已捕捉到的包,與界面板wireshark的左上角Filter一致。
㈥ 如何用ffmpeg播放抓包下來的pcap文件,是播放遠端視頻伺服器時抓的UDP包
視頻源沒問題 也沒丟包 那就是解碼器的問題
㈦ pcap_next函數之後代碼無法執行。代碼如下:
nt cnt,pcap_handler callback,u_char *user)
需要編寫回調函復數制 回調函數原型pcap_callback(u_char* argument,const struct pcap_pkthdr* packet_header,const u_char* packet_content)
回調函數的參數pcap_content 即是需要的內容
回調函數的參數pcap_pkthdr 是捕獲到的數據包基本信息,包括時間,長度等信息
建議你下載pcap的文檔看看
㈧ winpcap 為什麼能收到所有數據包
WinPcap產生的目的,就是為Win32應用程序提供這種訪問方式; WinPcap提供了以下功能 :
捕獲原始數回據包,無論它是答發往某台機器的,還是在其他設備(共享媒介)上進行交換的
在數據包發送給某應用程序前,根據用戶指定的規則過濾數據包
將原始數據包通過網路發送出去
收集並統計網路流量信息
所以你只能用WINPCAP進行收發數據包,對你接收到的數據包進行過濾,或者統計你收到的數據包流量。所以你不能阻斷數據包的傳輸,而且他確實是個提取分析用。所以那個人說的很對。就算你篩選了你要收到的數據包,但是那也只是你所編輯的程序只提取你需要的數據包,實際上你相應的網卡上仍然收到了所有的數據包。你可以用WIRESHARK 軟體看到。winpcap抓包所能實現的功能基本,都在WIRESHARK上面體現了。都是winpcap還能發送數據包。
㈨ 使用WinPcap BPF規則過濾某一范圍的IP地址,該怎麼寫
#-expressiongoogle一下應該有你要的。
㈩ tcpmp 協議過濾哪些協議
tcpmp 協議過濾抄
作為業界標準的捕獲工具,tcpmp提供了強大而又靈活的包過濾功能。作為tcpmp基礎的libpcap包捕獲引擎支持標準的包過濾規則,如基於5重包頭的過濾(如基於源/目的IP地址/埠和IP協議類型)。
tcpmp/libpcap的包過濾規則也支持更多通用分組表達式,在這些表達式中,包中的任意位元組范圍都可以使用關系或二進制操作符進行檢查。對於位元組范圍表達,你可以使用以下格式:
proto [ expr : size ]
「proto」可以是熟知的協議之一(如ip,arp,tcp,udp,icmp,ipv6),「expr」表示與指定的協議頭開頭相關的位元組偏移量。有我們熟知的直接偏移量如tcpflags,也有取值常量如tcp-syn,tcp-ack或者tcp-fin。「size」是可選的,表示從位元組偏移量開始檢查的位元組數量。
使用這種格式,你可以像下面這樣過濾TCP SYN,ACK或FIN包。