亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 從網(wǎng)卡發(fā)出的數(shù)據(jù)包,為什么PC通過switch來抓包無法抓到? [打印本頁]

作者: xpl    時間: 2009-03-03 11:38
標題: 從網(wǎng)卡發(fā)出的數(shù)據(jù)包,為什么PC通過switch來抓包無法抓到?
最近寫了個網(wǎng)卡的驅(qū)動,在測試的時候發(fā)現(xiàn)網(wǎng)卡可以正常發(fā)出數(shù)據(jù)包。
板子和PC直接對連,在PC上用抓包工具可以抓到數(shù)據(jù)包。
通過hub將板子和PC連起來,在PC上也能抓到數(shù)據(jù)包。

但是通過switch降板子和PC連起來,在PC上卻抓不到任何數(shù)據(jù)包。

我嘗試發(fā)送ARP包,ICMP包,PC上都抓不到。但是可以看到switch連板子的燈在不停的閃,說明有數(shù)據(jù)包往外發(fā)。

如果想通過switch向外發(fā)數(shù)據(jù)包,是否在之前還需要和switch有一個交互?


我對網(wǎng)絡(luò)基本不懂。
這個帖子可能和內(nèi)核關(guān)系不大,不過感覺這里對網(wǎng)絡(luò)懂的人比較多,就在這里問問,多謝了。
作者: dreamice    時間: 2009-03-03 12:03
標題: 回復 #1 xpl 的帖子
你在switch上連起來,可能是沒有轉(zhuǎn)發(fā)到你的PC上來,你可以在pC上ping一下板子,看能不能ping通
作者: xpl    時間: 2009-03-03 12:18
ping肯定ping不通的

板子上是個裸的網(wǎng)卡,我就寫了個驅(qū)動,直接向網(wǎng)絡(luò)發(fā)數(shù)據(jù)包。

板子上的程序非常簡單:
1.  初始化MAC, PHY,配置mac地址。
2. 構(gòu)造數(shù)據(jù)包并發(fā)送


我在另外一臺PC上(linux操作系統(tǒng)),寫了個簡單的發(fā)送數(shù)據(jù)包的程序,可以從我的PC上抓到這些包。

我不知道switch對發(fā)送數(shù)據(jù)包有什么要求。
作者: piaobo79    時間: 2009-03-03 12:38
hub 和 switch 的機制不同,hub的所有端口都在同一個沖突域(collision domain)里,所以所有的包都能被嗅探到,switch是根據(jù)網(wǎng)卡地址映射到相應端口進行轉(zhuǎn)發(fā)的,你的PC 和板子用的是不同的口,當然不會轉(zhuǎn)發(fā)過去了。
作者: Godbach    時間: 2009-03-03 12:45
通過hub將板子和PC連起來,在PC上也能抓到數(shù)據(jù)包。

但是通過switch降板子和PC連起來,在PC上卻抓不到任何數(shù)據(jù)包。


通過這個現(xiàn)象,建議LZ了解一下hub和switch的區(qū)別。然后在分析你的數(shù)據(jù)包。

同時,講一下你的配置吧。
作者: Godbach    時間: 2009-03-03 12:46
原帖由 xpl 于 2009-3-3 12:18 發(fā)表
ping肯定ping不通的

板子上是個裸的網(wǎng)卡,我就寫了個驅(qū)動,直接向網(wǎng)絡(luò)發(fā)數(shù)據(jù)包。

板子上的程序非常簡單:
1.  初始化MAC, PHY,配置mac地址。
2. 構(gòu)造數(shù)據(jù)包并發(fā)送


我在另外一臺PC上(linux操作系 ...


查看一下PC和你的板子上是否學到了對方的MAC地址。
作者: Godbach    時間: 2009-03-03 12:51
原帖由 piaobo79 于 2009-3-3 12:38 發(fā)表
hub 和 switch 的機制不同,hub的所有端口都在同一個沖突域(collision domain)里,所以所有的包都能被嗅探到,switch是根據(jù)網(wǎng)卡地址映射到相應端口進行轉(zhuǎn)發(fā)的,你的PC 和板子用的是不同的口,當然不會轉(zhuǎn)發(fā)過去了。


我覺得紅字部分piaobo79兄的解釋有點欠妥吧。switch確實是根據(jù)網(wǎng)卡地址進行轉(zhuǎn)發(fā)的,如果switch正常工作的話,switch應該會學習到從pc到板子直接發(fā)送數(shù)據(jù)包的話,目的MAC為到板子的包走哪一個端口的。當然pc和板子的IP地址應該在同一個網(wǎng)段內(nèi)。
作者: OneThird    時間: 2009-03-03 13:01
試試讓板子發(fā)廣播包。
作者: xpl    時間: 2009-03-03 13:08
原帖由 piaobo79 于 2009-3-3 12:38 發(fā)表
hub 和 switch 的機制不同,hub的所有端口都在同一個沖突域(collision domain)里,所以所有的包都能被嗅探到,switch是根據(jù)網(wǎng)卡地址映射到相應端口進行轉(zhuǎn)發(fā)的,你的PC 和板子用的是不同的口,當然不會轉(zhuǎn)發(fā)過去了。


非常感謝樓上幾位。

這里我不太明白的是,我發(fā)的是廣播包,這也不會被switch轉(zhuǎn)發(fā)?

那么如何才能讓switch來轉(zhuǎn)發(fā)我的包呢?


另外,回Godbach:
hub和switch的區(qū)別,我還真不知道,我確實對網(wǎng)絡(luò)這部分幾乎不懂。

數(shù)據(jù)包的內(nèi)容就是一個簡單的廣播ARP包。

另外,不知道你說的配置是指什么。
物理上的連接配置就是PC和板子都直接連到switch上。

對于板子,PHY配置成Auto-Negotitation。switch是100M的。


另外請教一下,“學到了對方的MAC地址”是指什么?
我覺的至少第一個廣播的ARP包應該能夠捕獲到,不然怎么互相認識呢?
作者: xpl    時間: 2009-03-03 13:09
原帖由 OneThird 于 2009-3-3 13:01 發(fā)表
試試讓板子發(fā)廣播包。


我發(fā)的就是廣播包。

這個我感覺也很奇怪。
作者: Godbach    時間: 2009-03-03 13:13
原帖由 xpl 于 2009-3-3 13:09 發(fā)表


我發(fā)的就是廣播包。

這個我感覺也很奇怪。


從板子上發(fā)ping請求報文。板子上如果沒有PC的MAC地址,會先發(fā)ARP請求的,你在PC上可以抓到ARP報文嗎
作者: OneThird    時間: 2009-03-03 13:16
PHY配置成指定速率的行不行,以前pc上的集成網(wǎng)卡有類似的問題。
作者: xpl    時間: 2009-03-03 13:20
原帖由 Godbach 于 2009-3-3 13:13 發(fā)表


從板子上發(fā)ping請求報文。板子上如果沒有PC的MAC地址,會先發(fā)ARP請求的,你在PC上可以抓到ARP報文嗎


我從板子上發(fā)什么包出去,就是什么包出去,怎么會我發(fā)的ping請求,板子會發(fā)ARP包出去呢?

我現(xiàn)在的問題就是從PC上啥包都抓不到,ARP報文也抓不到。郁悶壞了。
之所以重視這個問題,是因為我擔心是不是網(wǎng)卡的驅(qū)動寫的有問題。導致發(fā)出的數(shù)據(jù)哪里不對。



另外再強調(diào)一下,板子是裸板,就是說就一個網(wǎng)口往外發(fā)數(shù)據(jù)包,你可以理解成硬件直接發(fā)出去的。


再次感謝樓上幾位。
作者: xpl    時間: 2009-03-03 14:02
原帖由 OneThird 于 2009-3-3 13:16 發(fā)表
PHY配置成指定速率的行不行,以前pc上的集成網(wǎng)卡有類似的問題。



我用示波器量了一下,發(fā)現(xiàn)用Auto-Negotation的話,會自適應成100M的。

我分別把PHy配置成10M和100M的都試了一下,發(fā)現(xiàn)把PHY配置成指定的10M速率,確實可以抓到包了。難道是這個問題?

那么怎么才能讓PC抓到板子配置成100M發(fā)出的包?難道要換個網(wǎng)卡嗎?
作者: OneThird    時間: 2009-03-03 18:34
如果不是反復協(xié)商的問題,可能網(wǎng)線是瓶頸。
作者: xpl    時間: 2009-03-04 10:23
原帖由 OneThird 于 2009-3-3 18:34 發(fā)表
如果不是反復協(xié)商的問題,可能網(wǎng)線是瓶頸。



網(wǎng)線是網(wǎng)管給做的,看上去應該沒什么問題,都用量過的。

現(xiàn)在能夠確定的是10M可以抓到包。

現(xiàn)在有三個懷疑點:
1. 板子的PHY或者MAC有問題
2. switch
3. PC的網(wǎng)卡

如果是后兩個導致的,倒無所謂了,我就擔心是否是板子的PHY或者MAC有問題。

誰對網(wǎng)絡(luò)熟悉的,給點建議。

謝謝
作者: platinum    時間: 2009-03-04 10:29
可否把直接連接 PC 時抓到的從板子上發(fā)出的實驗包放到論壇上看一下,看是否這個包本身存在什么不可被 switch 廣播的原因?
另外 switch 是否是可管理的那種,如果是,要看 switch 本身是否允許這種廣播包、ARP 包通過等
作者: xpl    時間: 2009-03-04 13:39
原帖由 platinum 于 2009-3-4 10:29 發(fā)表
可否把直接連接 PC 時抓到的從板子上發(fā)出的實驗包放到論壇上看一下,看是否這個包本身存在什么不可被 switch 廣播的原因?
另外 switch 是否是可管理的那種,如果是,要看 switch 本身是否允許這種廣播包、ARP ...



多謝platinum,下面是我構(gòu)造數(shù)據(jù)包的code:

        char pkt[60];

        /* TA:  the target mac address */
        pkt[0] = 0xff;
        pkt[1] = 0xff;
        pkt[2] = 0xff;
        pkt[3] = 0xff;
        pkt[4] = 0xff;
        pkt[5] = 0xff;

        /* SA: the source mac address */
        pkt[6] = 0x12;
        pkt[7] = 0x34;
        pkt[8] = 0x56;
        pkt[9] = 0x78;
        pkt[10] = 0x90;
        pkt[11] = 0xab;

        /* TYPE: the packet type */
        pkt[12] = 0x08;
        pkt[13] = 0x06;

        /* ARP data*/
        /*hardware type*/
        pkt[14] = 0x00;
        pkt[15] = 0x01;
       
        /*ip protocol type*/
        pkt[16] = 0x08;
        pkt[17] = 0x00;

        /* mac addr length */
        pkt[18] = 0x06;

        /* ip addr length */
        pkt[19] = 0x04;

        /* op code: 01 - arp request; 02 - arp response */
        pkt[20] = 0x00;
        pkt[21] = 0x01;

        /* sender mac */
        pkt[22] = 0x12;
        pkt[23] = 0x34;
        pkt[24] = 0x56;
        pkt[25] = 0x78;
        pkt[26] = 0x90;
        pkt[27] = 0xab;
       
        /*sender ip */
        pkt[28] = 0xc0;
        pkt[29] = 0xa8;
        pkt[30] = 0x84;
        pkt[31] = 0x42;
       

       
       
        /* target mac */
        pkt[32] = 0x0;
        pkt[33] = 0x0;
        pkt[34] = 0x0;
        pkt[35] = 0x0;
        pkt[36] = 0x0;
        pkt[37] = 0x0;
       
        /* target ip */
        pkt[38] = 0xc0;
        pkt[39] = 0xa8;
        pkt[40] = 0x84;
        pkt[41] = 0x49;
       
        /* what 6 bytes mac? */
        pkt[42] = 0;
        pkt[43] = 0;
        pkt[44] = 0;
        pkt[45] = 0;
        pkt[46] = 0;
        pkt[47] = 0;
       
        /* who is 192.168.132.1 */
        pkt[48] = 0xc0;
        pkt[49] = 0xa8;
        pkt[50] = 0x84;
        pkt[51] = 0x49;
       
       
        /* DATA: the data */
        for(i = 52; i < 60; i++){
                pkt = 0;
        }


包的內(nèi)容我抓下來了,數(shù)據(jù),長度都對。

這個ARP是我從局域網(wǎng)上抓下來的,然后按照抓到的數(shù)據(jù)內(nèi)容構(gòu)造的一個ARP包,其中板子的mac地址已經(jīng)配置成了 1234567890ab
作者: system888net    時間: 2009-03-04 18:50
原帖由 xpl 于 2009-3-4 10:23 發(fā)表



網(wǎng)線是網(wǎng)管給做的,看上去應該沒什么問題,都用量過的。

現(xiàn)在能夠確定的是10M可以抓到包。

現(xiàn)在有三個懷疑點:
1. 板子的PHY或者MAC有問題
2. switch
3. PC的網(wǎng)卡

如果是后兩個導致的,倒無所 ...



此事易耳!

step 1. 用直連網(wǎng)線直接連接 板子-------PC,省掉了交換機的環(huán)節(jié)了.
step 2. 若能收了,則檢查交換機
step 3. 若還有問題,則用PC收一下局域網(wǎng)里的廣播包
step 4. 若能,則PC無問題,檢查板子或板子程序.
step 5. 若不能,則PC問題.
作者: system888net    時間: 2009-03-04 18:51
原帖由 xpl 于 2009-3-4 13:39 發(fā)表



多謝platinum,下面是我構(gòu)造數(shù)據(jù)包的code:

        char pkt[60];

        /* TA:  the target mac address */
        pkt[0] = 0xff;
        pkt[1] = 0xff;
        pkt[2] = 0xff;
        pkt[3] = 0xff;
        pkt[4] = 0xff;
        pkt[5 ...


鏈路幀的格式是正確的或兼容的嗎?
作者: xpl    時間: 2009-03-05 09:42
原帖由 system888net 于 2009-3-4 18:50 發(fā)表



此事易耳!

step 1. 用直連網(wǎng)線直接連接 板子-------PC,省掉了交換機的環(huán)節(jié)了.
step 2. 若能收了,則檢查交換機
step 3. 若還有問題,則用PC收一下局域網(wǎng)里的廣播包
step 4. 若能,則PC無問題,檢查板 ...


我前面已經(jīng)描述過了,pc和板子對接是可以抓到包的,pc也可以抓到局域網(wǎng)的廣播包。
pc和板子通過hub連接也可以抓到包。
pc和板子通過交換機連接,降板子的PHy配置成10M的可以抓到包,但是配置成自適應的或者100M的則抓不到包。

不過還是謝謝你的回復了。
作者: system888net    時間: 2009-03-05 12:39
原帖由 xpl 于 2009-3-5 09:42 發(fā)表


我前面已經(jīng)描述過了,pc和板子對接是可以抓到包的,pc也可以抓到局域網(wǎng)的廣播包。
pc和板子通過hub連接也可以抓到包。
pc和板子通過交換機連接,降板子的PHy配置成10M的可以抓到包,但是配置成自適應的或 ...



邏輯上還是不清楚: 你指的"pc和板子對接是可以抓到包的,pc也可以抓到局域網(wǎng)的廣播包。" 是指在100M?還是10M都可以?還是都可以?
作者: xpl    時間: 2009-03-05 13:02
原帖由 system888net 于 2009-3-5 12:39 發(fā)表



邏輯上還是不清楚: 你指的"pc和板子對接是可以抓到包的,pc也可以抓到局域網(wǎng)的廣播包。" 是指在100M?還是10M都可以?還是都可以?


PC和板子對接,無論把板子配置成10M的還是100M的或者是自適應的,PC都可以抓到包。

用PC和板子通過hub連接(由于只在市場上買到了10M的hub,所以hub是10M的),無論把板子配置成100M的或者10M的,PC端都可以抓到包。

用PC和板子通過switch連接(switch是10M/100M自適應的),如果把板子配置成10M的,PC可以抓到包,但是如果把板子配置成100M的,PC就抓不到包。

數(shù)據(jù)包的內(nèi)容就是我前面貼出來的。

看看還能有什么線索?
多謝了。
作者: tdscdma9x    時間: 2009-03-05 17:12
一般帶網(wǎng)管功能的交換機會帶有端口鏡像功能,做個端口鏡像,然后在鏡像端口監(jiān)聽
作者: system888net    時間: 2009-03-05 19:03
原帖由 xpl 于 2009-3-5 13:02 發(fā)表


PC和板子對接,無論把板子配置成10M的還是100M的或者是自適應的,PC都可以抓到包。

用PC和板子通過hub連接(由于只在市場上買到了10M的hub,所以hub是10M的),無論把板子配置成100M的或者10M的,PC端都 ...


檢查一下交換機.
作者: hhts1987    時間: 2009-03-06 01:30
看了這么多的恢復,看來只有樓上的某些仁兄才是對的,建議樓主搞清交換機和hub的區(qū)別吧,以及為什么鼓勵用交換機而不用hub
以及為什么改用交換機以后還可以實現(xiàn)網(wǎng)絡(luò)監(jiān)聽
這些問題弄明白以后我想你問題應該差不多可以搞明白了
作者: xpl    時間: 2009-03-06 09:33
原帖由 hhts1987 于 2009-3-6 01:30 發(fā)表
看了這么多的恢復,看來只有樓上的某些仁兄才是對的,建議樓主搞清交換機和hub的區(qū)別吧,以及為什么鼓勵用交換機而不用hub
以及為什么改用交換機以后還可以實現(xiàn)網(wǎng)絡(luò)監(jiān)聽
這些問題弄明白以后我想你問題應該差不 ...



如果我能搞清楚了我還會在這里問嗎?

另外,我覺的即使我搞清楚你說的這些問題,也未必就能解決這個問題。

不過還是謝謝你的回復。
從你的口氣看,感覺你一定對網(wǎng)絡(luò)這方面非常的擅長,那么您能給我推薦一些相關(guān)的資料嗎?我確實沒有找到什么相關(guān)的資料。
謝謝。


另外,對于上面幾個朋友的回復,我感覺這個不是交換機的問題。

首先,我用的是tp-link的交換機,是很大眾的一個型號,如果這個有問題,還能在市場上賣這么久?

另外,我換了好幾個交換機都試了,結(jié)果都是一樣的,況且,普通的兩個pc通過交換機都可以互相抓到包,并且顯示的連接速度是100M。

所以,我覺的肯定不是交換機的問題。

對于為什么10M的可以抓到包,100M的就抓不到包的問題,我覺的根本的原因還是沒有找到。
作者: system888net    時間: 2009-03-07 11:15
標題: 回復 #27 xpl 的帖子
LZ 對回帖的人表示謝意,欣賞lz的這種美德.

LZ 提供的信息越來越詳盡了! 描述如下,"()"里是需要確認的"疑問",若有誤請LZ更正.
      1. 板子跟PC直連,10M,100M都沒有問題.(建議:確認一下是否是真實跑在100M?)
      2. 交換機跟PC之間100M也沒有問題.
      3. 板子通過交換機跟PC連接在10M沒問題,在100M有問題.(建議: 確認一下100M時交換機各口的實際工作速率)

       建議: 若交換機支持網(wǎng)管,則檢查一下10M和100M時的丟包率和壞包率等信息,對比再進行判斷確認.
作者: chenyx    時間: 2009-03-07 13:52
網(wǎng)線質(zhì)量也很關(guān)鍵.
樓主確認網(wǎng)線是否可以穩(wěn)定的支持百兆
作者: new_learner    時間: 2009-03-09 16:20
換個switch試試,如果還是不行,則打開switch port mirror功能,指定轉(zhuǎn)包的端口試試。
作者: xpl    時間: 2009-03-09 18:00
我用的交換機應該不支持網(wǎng)管,因為我不知道怎么去“網(wǎng)管”, ^_`
對網(wǎng)絡(luò)這方面,確實沒怎么接觸過

還希望樓上幾位提供一下具體的操作方法,我確實是不知道:
1. 如何確定網(wǎng)線是否支持100M
2. 如何打開switch port mirror功能

再次感謝樓上的幾位。

另外,現(xiàn)在想想,也許這個問題很無聊吧。
不過我喜歡遇到問題就要徹底弄清楚。
雖然我對網(wǎng)絡(luò)不怎么懂,并且也許以后不會怎么弄這個,但是既然碰到這個問題了,還是想認真的鉆一下。
如果能解決,就謝謝大家,不能解決,也無所謂了,這個世界就是這樣,總是有些未知的東西的, ^_-
作者: chenyx    時間: 2009-03-09 20:28
一般支持百兆的交換機一個端口對應兩個或3個燈,其中有一個是百兆速度燈,在百兆的時候常亮
交換機可網(wǎng)管指的是智能交換機,可以在上面進行諸如Vlan等配置的.




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2