日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不用安装Wincap程序实现ARP广播包的发送和接收

發布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不用安装Wincap程序实现ARP广播包的发送和接收 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 這幾天由于項目需求,做了一個局域網ip和MAC地址搜索的程序,程序調試完成了但是有一個問題一直困擾這我,就是軟件打包后,每次都要安裝WinPcap后才能用自己的程序,很是煩人,經過幾天的測試終于找到了兩種方法,不需要安裝WinPcap。經過測試都沒有問題。

? ? 方法一:經過很多次的分析,程序主要是用到了WinPcap的一個驅動文件,當安裝Wincap程序后你會發現 ?在C:\WINDOWS\system32\drivers下面會有一個npf.sys文件,系統下的驅動,在C:\WINDOWS\system32文件夾下會發現WinPcap相關的庫文件,其中有一個paket.dll庫就是我在程序中用到的庫。這時你可以把這個npf.sys文件拷出來,再把Wincap卸載掉,此時運行自己的程序是不能實現IP和MAC地址的搜做的,這時可以把剛才拷出來的文件npf.sys重新拷貝到C:\WINDOWS\system32\drivers下面,再運行自己的程序,你會奇跡般的發現可以正常搜索。所以這個npf.sys文件是很重要的,現在的方法是你可以在程序中編寫一個copy程序,把npf.sys文件拷貝到C:\WINDOWS\system32\drivers文件夾下。這樣就OK了。

? ? 方法二:方法一其實實現起來比較簡單而且方便,但是還有一個更好的辦法。其實通過分析發現npf.sys就是系統的一個驅動,你只要把它加載注冊表中,就把這個驅動加載好了。當你把npf.sys文件拷貝到C:\WINDOWS\system32\drivers下面時系統會自動加載到注冊表如下圖:system32\drivers\npf.sys


現在我們怎么辦那,我們也可以仿照這個自己加載這個NPF驅動程序到注冊表,只是我們加載路徑不是系統路徑,可以把npf.sys文件拷貝到我們的工程中,通過程序創建注冊表,并加載我們自己的路徑驅動。這樣就不用在程序打包后每次安裝時先要安裝WinPcap程序。

? ? ? 經過測試兩種方法都能實現功能,只是第二種方法稍微麻煩點。還有要注意的是32位系統和64位系統用到的npf文件是不一樣的。在不同系統中要加載不同的文件。














總結

以上是生活随笔為你收集整理的不用安装Wincap程序实现ARP广播包的发送和接收的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。