一:The NPF driver isn't running
這個錯誤是因為沒有開啟NPF服務造成的。
NPF即網絡數據包過濾器(Netgroup Packet Filter,NPF)是Winpcap的核心部分,它是Winpcap完成困難工作的組件。它處理網絡上傳輸的數據包,並且對用戶級提供可捕獲(capture)、發送(injection)和分析性能(analysis capabilities)。
它不僅提供了基本的特性(例如抓包),還有更高級的特性(例如可編程的過濾器系統)。前者可以被用來約束一個抓包會話只針對網絡通信中的一個子集,後者提供了一個強大而簡單的統計網絡通信量的機制。
解決辦法如下:
(1)確保自己安裝了WinPcap(這個在安裝Wireshark時會提示你安裝的)也可以從官網下載:地址:http://www.winpcap.org/
(2)在命令提示符下輸入:net start npf 會提示打開驅動服務成功。如下圖所示:
如果想關閉服務就輸入:net stop npf 即可。
二:抓取本地回環數據
windows下,在命令行中輸入以下語句:
復制代碼 代碼如下:
route add 192.168.1.106 mask 255.255.255.255 192.168.1.1metric 1
其中,192.168.1.106是本機ip, 192.168.1.1是路由網關。其他都不變。
注意:建立連接時需要使用本機192.168.1.106的IP,不能使用127.0.0.1,如:
復制代碼 代碼如下:
socket.Connect("192.168.1.106", 4530);