|
Hi all,: h4 ]9 I2 O7 X1 O o" {. U
我目前在系統板上放了一個ethernet的MAC和10/100的PHY,並寫了一個簡單的程式來測試是否功能正確,但因對0 O/ i# S9 F+ j( n* ]: m
ethernet協定不等,所以有一些問題想請教前輩:1 D9 w6 Z5 }; u( ?* o& \
目前區域�有一台PC,稱為PC_A,他的MAC address為00:15:F2:94:53:A6, IP為192.168.1.11
2 {4 V1 I5 Y2 \系統板暫稱為system_A,他的MAC address為00:10:5A:81:CA:FD, IP為192.168.1.155
: R" L+ D I" K5 \7 v# H我用PC_A 來 ping system_A,並利用system_A的開發環境來看PC_A所傳來的資料,如附件
. y2 q6 S& O. l, H6 t' Z" s
% ]0 I1 @) S* o1 E從附件看來前6個位元組為FFFFFFFFFFFF,好像是廣播位址,再來6個位元組為0015f29453a6,跟PC_A的MAC address相同,
J: {! b8 @7 h' D0 ]再來2個位元組為0806,因該是說此封包為ARP,其他位元組先不管,& e' c- q) M0 B5 d
1.從以上的資料來看請問system_A接收PC_A傳來的資料是用network order(Big-endian)順序存到記憶體還是用" }! D2 H+ e, `1 l. ^
Little-endian順序存到記憶體?% b: x2 p+ q9 R5 ]8 Q/ y
2.ARP封包識別碼是0x0806,如果system_A是用network order將收到的資料存到記憶體,是否表示system_A的MAC有問題?
6 `% b# w% A9 E: s7 G" _' B/ ] 因為我認為如果是用network order將收到的資料存到記憶體應該是0608。
5 v. E$ q% T- ^+ |& X/ Q, {" j! V* `+ u2 n7 w7 `9 X) E
其他問題
2 M% H+ m! R1 R0 k$ q5 V2 [" S1.在linux下是否有工具可以看網路卡傳輸的資料,這裡指的資料是指raw data,也就是我想知道網路卡送出得第一個位元組是??
7 p3 b4 R) J( R& w/ W6 E 第二個位元組是??......
& L% }$ a( U( F2.相同問題在windows下是否有類似的工具。
; Q# e) }- C6 f* Q! }! }3.哪裡有基本的網路測試程式可以參考
$ y1 Y; Q$ K0 m% s謝謝 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?申請會員
x
|