|
Hi all,6 B* P/ W, u* U" s' |5 R4 m! H
我目前在系統板上放了一個ethernet的MAC和10/100的PHY,並寫了一個簡單的程式來測試是否功能正確,但因對
' s3 L) b( d" m4 {% C6 Fethernet協定不等,所以有一些問題想請教前輩:
0 J5 |7 |7 l3 Z- Y a5 E目前區域�有一台PC,稱為PC_A,他的MAC address為00:15:F2:94:53:A6, IP為192.168.1.11) j' X. D6 v' G& O2 b
系統板暫稱為system_A,他的MAC address為00:10:5A:81:CA:FD, IP為192.168.1.1550 e+ X$ i; i" r3 [) `: R2 ^
我用PC_A 來 ping system_A,並利用system_A的開發環境來看PC_A所傳來的資料,如附件
: S ^" t7 b, F. P2 E1 y- m
# C- q7 z4 _* n) B; Z; c$ u S從附件看來前6個位元組為FFFFFFFFFFFF,好像是廣播位址,再來6個位元組為0015f29453a6,跟PC_A的MAC address相同,4 z% m+ \$ y! M4 J7 H
再來2個位元組為0806,因該是說此封包為ARP,其他位元組先不管,
, c9 O% ~1 c d; C! Q9 J1.從以上的資料來看請問system_A接收PC_A傳來的資料是用network order(Big-endian)順序存到記憶體還是用% W& Y) w4 r3 A7 e2 i8 V; @
Little-endian順序存到記憶體?" g7 `$ s1 W$ x- I
2.ARP封包識別碼是0x0806,如果system_A是用network order將收到的資料存到記憶體,是否表示system_A的MAC有問題?: n9 Z% C/ f) p! x
因為我認為如果是用network order將收到的資料存到記憶體應該是0608。% Z; l- A* M% C. P1 u% ~
5 Q* h7 s+ B8 ~6 b
其他問題) F+ Q+ d1 D; S- }; x, t/ x
1.在linux下是否有工具可以看網路卡傳輸的資料,這裡指的資料是指raw data,也就是我想知道網路卡送出得第一個位元組是??
( W" d1 R$ R& c3 ^( [: G 第二個位元組是??......# H7 u7 y+ |) J4 x0 A, c
2.相同問題在windows下是否有類似的工具。. K( p# M# r7 C7 ^( i
3.哪裡有基本的網路測試程式可以參考/ {7 M& Y& w; _( X/ _
謝謝 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?申請會員
x
|