Jrg Liebeherr (modified by M. Veeraraghavan) 1 ICMP The PING Tool Traceroute program IGMP.
Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.
-
Upload
gordon-matthews -
Category
Documents
-
view
229 -
download
0
Transcript of Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.
![Page 1: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/1.jpg)
Lab-4 ICMP Ping Programming
Speaker : Yi-Fong Lin
Date:2007.11.28
![Page 2: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/2.jpg)
IP & ICMP
IP – Internet ProtocolICMP - Internet Control Message ProtocolIP & ICMP insert into Ethernet packet
DA MAC SA MACTYPE
0x0800IP header ICMP header ICMP data
Ethernet 封包
IP 封包
ICMP 封包 (IP data)
![Page 3: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/3.jpg)
IP header
VERSSERVICE TYPE
TOTAL LENGTH
IDENTIFICATION FRAGMENT OFFSET
0 8 16 24 31
SOURCE IP
DESTINATION IP
IP OPTION(IF ANY)
HLEN
FLAGS
TIME TO LIVE PROTOCOL HEADER CHECKSUM
PADDING不使用
5 個 4Bytes
![Page 4: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/4.jpg)
IP header
VERS : IP 協定的版本號碼 ,IPv4:0x4 HLEN : IP 表頭長度 ,4 bytes 為單位 , no option : 0x05• SERVICE TYPE :
• PRECEDENCE : 優先權 • D : No Delay• H : High Throughput• R : High Reliability• TOTAL LENGTH : IP header 跟 data 的總長度 ,byte 為單位。• IDENTIFICATION : IP 封包的編號。
保留 D T R PRECEDENCE
7 6 5 4 3 0
![Page 5: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/5.jpg)
IP header
FLAGS 、 FRAGMENTOFFSETTIME TO LIVE(TTL) :定義一封包在網路
系統中存活的時間。PROTOCOL : UDP : 0x11 TCP : 0x06 ICMP : 0x01HEADER CHECKSUMSOURCE IP 、 DESTINATION IP
![Page 6: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/6.jpg)
ICMP types
TYPE ICMP Message Type 0 Echo Reply 3 Destination Unreachable 4 Source quench 5 Redirect 8 Echo Request (Ping) 11 Time Exceeded for a Datagram 12 Parameter Problem on a Datagram 13 Timestamp Request 14 Timestamp Reply 15 Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply
![Page 7: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/7.jpg)
CheckSum
IP OPTION(IF ANY) PADDING
0x04 0x05 0x00 0x00
0x0100 0x0050
0x80 0x010x00
Destination IP
checksum
Source IP 0x8C.0x7D.0x21.0x02
0x8C.0x7D.0x21.0x01
0 314 8 16
![Page 8: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/8.jpg)
CheckSum 計算法
每 16bit 做相加Ex: 0x4 5 0 0
0x0 0 0 00x0 1 0 00x0 0 5 00x8 0 0 10x0 0 0 00x8 C7 D0x2 1 0 10x8 C7 D0x2 1 0 2+
2 1 4 E +
2
2 1 5 0 => 取 1的補數=>1101 1110 1010 1111(DEAF)
DE AF
CheckSum
![Page 9: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/9.jpg)
Internet
Ping
140.125.33.10
140.125.32.18
140.125.33.12
ARP Who is ARP Who is 140.125.33.12140.125.33.12
I am 140.125.33.12I am 140.125.33.12My MAC is My MAC is 03:04:05:06:07:0803:04:05:06:07:08
Ping 140.125.33.12 Ping 140.125.33.12 MAC=03:04:05:06:07:08MAC=03:04:05:06:07:08ICMP RequestICMP Request
ICMP ReplyICMP Reply
![Page 10: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/10.jpg)
ICMP
Format
TYPE(8or0) CODE(0) CHECKSUM
IDENTIFIER SEQUENCE NUMBER
OPTION DATA…
0 8 16 24 31
checksum : ICMP header 跟 data 的 checksumIdentifier 、 sequence 是 request sender 用來檢查 reply 封包是回應哪一個 request 封包。option data 長度是可變動的, reply 回的 option 必需跟 request 一樣。command: ping { 目地 IP}
![Page 11: Lab-4 ICMP Ping Programming Speaker : Yi-Fong Lin Date:2007.11.28.](https://reader035.fdocuments.us/reader035/viewer/2022062300/56649e055503460f94af1daa/html5/thumbnails/11.jpg)
Lab Work
透過 Uart interface 可用下指令的方式 ping 至其他連接到網路的裝置,並且顯示分析 ICMP echo request/reply 封包。
可回覆 ICMP echo request 封包,即接受網路上其他裝置的 ping 要求。