當前位置:首頁 » 凈水方式 » pcap內核過濾包長

pcap內核過濾包長

發布時間: 2021-02-04 20:51:45

① winpcap捕獲數據包要用多線程嗎

:libpcap和winpcap最大的不同就是 內核緩沖區,用戶緩沖區等都不能設置,沒有提供這樣的函數,要編譯libpcap源碼。

② 有沒有什麼類似Winpcap的數據包攔截的庫

捕獲包的話。。除了Winpcap這個庫外好像還沒有第二種。
Nt內核之後的WinSock不支持自己封裝MAC幀的RawSocket了。
所以如果有能力就寫NDIS驅動吧。

③ 如何基於WinPcap網路數據包捕獲程序來設計完成數據包捕獲程序

看看

④ 採用winpcap過濾從MAC地址A到MAC地址B的乙太網數據包的過濾語句怎麼寫

⑤ WinPcap能不能阻斷數據包

確實不能阻斷數據包,他是用來抓包的。
WinPcap產生的目的,就是為應用程序提供這種訪問方式; WinPcap提供了以下功能 :

捕獲原始數據包,無論它是發往某台機器的,還是在其他設備(共享媒介)上進行交換的
在數據包發送給某應用程序前,根據用戶指定的規則過濾數據包
將原始數據包通過網路發送出去
收集並統計網路流量信息

所以你只能用WINPCAP進行收發數據包,對你接收到的數據包進行過濾,或者統計你收到的數據包流量。所以你不能阻斷數據包的傳輸,而且他確實是個提取分析用。所以那個人說的很對。就算你篩選了你要收到的數據包,但是那也只是你所編輯的程序只提取你需要的數據包,實際上你相應的網卡上仍然收到了所有的數據包。你可以用WIRESHARK 軟體看到。winpcap抓包所能實現的功能基本,都在WIRESHARK上面體現了。都是winpcap還能發送數據包。

當然,如果你是網路高手,你可以根據不同傳輸協議,搞些MAC或IP欺騙,攔截一些不屬於你的數據包,但是這個就不是很容易辦到了。

你上面問道如何來丟棄數據包。。是丟棄你要發的數據包?還是丟棄你接收的數據包?
如果是丟棄接收的數據包的話,那就是篩選了過濾了,要用到 pcap_compile() 和 pcap_setfilter() 函數了。
如果是丟棄你要發送的數據包,數據包發送出去後就不收你控制了,你無法丟棄。如果你要編程,你可以進我的網路空間觀摩下。

⑥ winpcap 能不能只捕獲網卡收到的數據包,而不捕獲網卡自己發送的數據包啊

可以..設置filter為的目標主機為自己就可以了。或者忽略掉自己發出去的數據包

⑦ 簡述基於winpcap體系結構的捕獲網路數據包的過程

Winpcap是針對Win32平台上的抓包和網路分析的一個架構。它包括一個核心態的包過濾器,一個底層的動態鏈接庫(packet.dll)和一個高層的不依賴於系統的庫(wpcap.dll)。
抓包是NPF最重要的操作。在抓包的時候,驅動使用一個網路介面監視著數據包,並將這些數據包完整無缺地投遞給用戶級應用程序。
抓包過程依賴於兩個主要組件:
一個數據包過濾器,它決定著是否接收進來的數據包並把數據包拷貝給監聽程序。數據包過濾器是一個有布爾輸出的函數。如果函數值是true,抓包驅動拷貝數據包給應用程序;如果是false,數據包將被丟棄。NPF數據包過濾器更復雜一些,因為它不僅決定數據包是否應該被保存,而且還得決定要保存的位元組數。被NPF驅動採用的過濾系統來源於BSD Packet Filter(BPF),一個虛擬處理器可以執行偽匯編書寫的用戶級過濾程序。應用程序採用用戶定義的過濾器並使用wpcap.dll將它們編譯進BPF程序。然後,應用程序使用BIOCSETF IOCTL寫入核心態的過濾器。這樣,對於每一個到來的數據包該程序都將被執行,而滿足條件的數據包將被接收。與傳統解決方案不同,NPF不解釋(interpret)過濾器,而是執行(execute)它。由於性能的原因,在使用過濾器前,NPF提供一個JIT編譯器將它轉化成本地的80x86函數。當一個數據包被捕獲,NPF調用這個本地函數而不是調用過濾器解釋器,這使得處理過程相當快。
一個循環緩沖區,用來保存數據包並且避免丟失。一個保存在緩沖區中的數據包有一個頭,它包含了一些主要的信息,例如時間戳和數據包的大小,但它不是協議頭。此外,以隊列插入的方式來保存數據包可以提高數據的存儲效率。可以以組的方式將數據包從NPF緩沖區拷貝到應用程序。這樣就提高了性能,因為它降低了讀的次數。如果一個數據包到來的時候緩沖區已經滿了,那麼該數據包將被丟棄,因此就發生了丟包。

⑧ libpcap 怎麼攔截數據包

誰說這個東西能攔截了?

等你收到數據的時候,數據報已經發出去了

⑨ linux下使用libpcap進行數據捕獲,能夠將捕獲到的數據包保存為pcap文件

libpcap和winpcap最大的不來同就是 內核緩沖區自,用戶緩沖區等都不能設置,沒有提供這樣的函數,要編譯libpcap源碼。
另外,linux Fedora 下使用libpcap時,找不到pcap.h,查找發現安裝了libpcap的庫但是沒有頭文件。解決辦法是:
1.如何查看是否安裝libpcap? #rpm -aq libpcap
2.查找libpcap源,yum search pcap
3.安裝libpcap, yum install libpcap-devel.i386

⑩ libpcap抓的一個數據包長度為什麼為0

一般包頭都有顯示數據長度251,你要看下是明文還是加密的,破解了以後,改成253就可以了。修改數據包要具體問題具體分析。修改接收包也不一定有用。多試一試就ok了!

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239