有沒有可能在linux核心和網絡卡驅動中做修改簡單的實現網絡卡的混雜模式下抓包,並且把包給存入檔案中

2022-09-25 11:50:10 字數 3619 閱讀 3406

1樓:匿名使用者

設定混雜模式什麼的,這些我只曉得可以做sniffer。不過具體我沒做過,所以過程我不太清楚,這個部分我沒法說。

你說建立檔案的話,直接從核心建立以及讀寫檔案大概會比較麻煩吧。可以使用一個使用者態程式,然後你的核心模組中可以註冊一個可讀寫的char裝置,使用者程式讀寫這個核心模組的/dev/下面對應的char裝置。可以讀這個裝置檔案獲得核心的資料,寫這個檔案進行一些設定,比如網絡卡模式,抓包過濾選項等等。

當然,你也可以去找找原始碼裡面檔案系統那部分,open、read、write呼叫等是如何根據使用者的操作來建立並且實際讀寫檔案的,你可以直接引用這些函式來搞定檔案讀寫。這樣的話,因為沒有使用者程式的參與,從抓資料到寫檔案都是核心搞定的化,不好跟你的核心模組互動,沒法控制了...這樣做的好處是可以直接修改哪些最終提交資料的函式,提交之前拷貝一份資料就ok了。

要是想找點靠譜的答案,還是儘量去些論壇問吧...

我也在看核心,ldd3還好多沒看...

linux網路驅動如何進行旁入抓包? 20

2樓:匿名使用者

印象裡 linux 的 iptable 就是用的這個功能吧?好像 linux 的網路驅動,允許呼叫使用者層程式進行處理。

不過我對這方面沒研究,你去找找相關資料吧。

3樓:

這個還真不知道,你還是另請高明,不好意思啊

windows/linux下,某個c++網路監聽程式,設定了網絡卡為混雜模式。這會不會影響其他程式。

4樓:匿名使用者

一般無影響,混雜模式開啟,結果是不屬於你的資料包也流入網絡卡,其他非監聽程式根本不會去接收也無法接收這些資料,所以無影響。

當然混雜模式會增加網絡卡壓力和cpu負荷,可能在這方面造成對其他程式的一點影響。

linux 檢視 網絡卡介面是否為混雜模式

5樓:大大蟲

ifconfig 可以看到網絡卡是否混雜模式,如:

ifconfig eth0 看是否有「promisc」標誌ifconfig eth0 promisc #設定混雜模式ifconfig eth0 -promisc #取消混雜模式

6樓:匿名使用者

混雜模式(promiscuous mode)是電腦網路中的術語。是指一臺機器的網絡卡能夠接收所有經過它的資料流,而不論其目的地址是否是它。

一般計算機網絡卡都工作在非混雜模式下,此時網絡卡只接受來自網路埠的目的地址指向自己的資料。當網絡卡工作在混雜模式下時,網絡卡將來自介面的所有資料都捕獲並交給相應的驅動程式。

網絡卡開啟混雜模式命令如下:

通過shell命令來實現:

ifconfig wlan0 promisc 設定混雜模式ifconfig wlan0 -promisc 取消混雜模式監聽模式(monitor)

iwconfig wlan0 mode monitor如果沒有生效,可以嘗試先

ifconfig wlan0 down

iwconfig wlan0 mode monitorifconfig wlan0 up

更多linux知識可參考《linux就該這麼學》。

怎樣在linux核心原始碼中新增自定義的驅動,例如網絡卡等

7樓:匿名使用者

mkinitrd,用這個命令新增?

8樓:匿名使用者

你是要寫**進去還是自己編譯核心新增硬體驅動啊???

linux核心移植,dm9000網絡卡驅動的移植,arm開發板和電腦之間無法ping通,不知道什麼原因,有人能解決嗎?

9樓:匿名使用者

1、檢查開發板網口燈是否亮。

2、檢查你的pc機ip地址是否和開發板在同一網段(192.168.1.x)。

3、開發板上ping自己一下。

4、檢查開發板系統日誌有沒有錯誤(dmesg)。

最大的可能就是2的情況,你看一下。

10樓:追夢者

不在同一個網段 把你的開發板ip設定為192.168.0.100

linux 下怎樣檢視網絡卡是否支援混雜模式

11樓:匿名使用者

使用ifconfig命令可檢視當前網絡卡是否設定為混雜模式[zhaihf@localhost~]$ ifconfig

eth0 linkencap:ethernet hwaddr 00:16:31:ff:a6:2e

inet addr:192.168.9.1 bcast:192.168.9.255 mask:255.255.255.0

upbroadcast multicast mtu:1500 metric:1

rx packets:0 errors:0 dropped:0 overruns:0 frame:0

tx packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)

memory:98420000-98440000

eth1 link encap:ethernet hwaddr 00:16:31:ff:a6:2f

inet addr:192.168.8.48 bcast:192.168.8.255 mask:255.255.255.0

inet6 addr: fe80::216:31ff:feff:a61f/64 scope:link

upbroadcast running promisc multicast mtu:1500 metric:1

rx packets:28011022 errors:0 dropped:0 overruns:0 frame:0

tx packets:18408510 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

rx bytes:31733322503 (29.5 gib) tx bytes:21092798216 (19.6gib)

memory:98400000-98420000

linux下網絡卡混雜模式如何設定?

12樓:匿名使用者

那就每次開機登入時自動修改唄~~~

這個修改重啟後會丟失,因此你要自己去修改~~修改mac地址也是重啟就失效了

echo "ifconfig eth0 promisc " >>/root/.bash_profile

或者echo "ifconfig eth0 promisc " >>/root/.bashrc

/root/.bashrc是進入root時自動會執行的一個指令碼~~

13樓:淦悅凌幻玉

你還能想到libpcap?厲害~

你想做嗅探器還不簡單,直接寫原始套接字,抓所有包不就完了。

你理解的混雜模式是什麼?所有收到的包都不丟棄?建議你看看原始套接字~

成吉思汗陵墓有沒有可能在寧夏境內?這種概率有多大?

當然是有可能的,幾率是比較大的,成吉思汗的陵墓現在沒有人可以完全確定在 寧夏也是非常不錯的地方,所以可能性比較高。有這可能,因為在以前成吉思汗曾經在寧夏活動過。可能性非常大,因為當時寧夏這個地方被成吉思汗打下來了。是有可能的,但是根據考古學家的探測並沒有發現,所以這種概率也特別的小,大概只有40 成...

人有沒有可能在短時間內性格大變?若是有可能,那又在那種情況下才會發生?屬於正常現象嗎?求分析

正常來說,人的性格很難改變,即使是主觀上想改,也非常難,需要非常漫長的時間。短時間內的所謂性格改變,應該是外界事物的刺激和導引,導致情緒上的大幅波動,那不是性格改變,是精神和情緒上的改變,比如失戀,破產,親人離世等等。失戀,家裡有什麼比較嚴重的事,或是自身有什麼事情,反正肯定是遇到讓人一下子不管思想...

人有沒有可能在不懂高數和大學物理的基礎上理解相對論

狹義相對論的基礎是光速不變理論,所以這是可以理解的,但其中涉及的洛倫茲變換運用到數學知識可能有些吃力。廣義相對論的座標系不再是笛卡爾 剛性 座標系,這估計難理解 相對論為什麼不是必修課程,學習相對論有意義嗎?大學物理專業需要必修這門課,這是一門課,不是某個課的一部分!而其他專業如果需要學 大學物理 ...