在bochs2.6中运行DlxLinux:
ping –c 1 111.13.100.92
这时dos窗口windump看到:
arp首先会问网关在哪里:
1.
arp问谁有这个IP地址:192.168.1.1 (真实路由)
arp答复在ec:17:2f:f4:c5:a2 (真实路由的mac地址)
接下来几步就是通过远方的服务器问和答完成ping命令ICMP request 及 ICMP reply
2.
arp问谁有这个IP地址:192.168.1.99 (我的虚拟网卡)
arp答复在b0:c4:20:A1:3C:00 (正是我们在bochsrc.bxrc中的指定mac)
3.
arp问谁有这个别名:ty-b8ddac403197.137 (我的真实网卡别名)
arp答复在00:16:17:10:04:22 (真实网卡的mac)
下面我们从抓包工具中分析对应以上几步中和具体数据:
1.
FF FF FF FF FF FF B0 C4 20 A1 3C 00 08 06 00 01 08 00 06 04 00 01 B0 C4 20 A1 3C 00 C0 A8 01 63 00 00 00 00 00 00 C0 A8 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
文件标题:ARP-Request:who-has 192.168.1.1 tell 192.168.1.99
FFFFFFFFFFFF 目地地址
B0C420A13C00 源地址
0806 ARP(Address Request Protocol)
0001 Ethenet
0800 DoD IP
06 硬件地址长
04 协议地址长
0001 操作码:Request
B0C420A13C00 发送者mac地址
C0A80163 发送者IP:192.168.1.99
000000000000 目标mac地址
C0A80101 目标IP:192.168.1.1
000000000000000000000000000000000000 补帧18字节
B0 C4 20 A1 3C 00 EC 17 2F F4 C5 A2 08 06 00 01 08 00 06 04 00 02 EC 17 2F F4 C5 A2 C0 A8 01 01 B0 C4 20 A1 3C 00 C0 A8 01 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
文件标题:ARP-Reply:192.168.1.1 is at EC:17:2F:F4:C5:A2
B0C420A13C00 目地地址
EC172FF4C5A2 源地址
0806 ARP(Address Request Protocol)
0001 Ethenet
0800 DoD IP
06 硬件地址长
04 协议地址长
0002 操作码: Reply
EC172FF4C5A2 发送者mac地址
C0A80101 发送者IP:192.168.1.1
B0C420A13C00 目标mac地址
C0A80163 目标IP:192.168.1.99
000000000000000000000000000000000000 补帧18字节
弄清了192.168.1.1在什么地方,就开始发送ping内容了:
EC 17 2F F4 C5 A2 B0 C4 20 A1 3C 00 08 00 45 00 00 54 00 10 00 00 40 01 E5 24 C0 A8 01 63 6F 0D 64 5C 08 00 96 98 2B 00 00 00 44 45 F3 55 0C C9 07 00 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37
文件标题:ICMP
EC172FF4C5A2 目地地址
B0C420A13C00 源地址
0800 DoD IP
IPV4 头开始
45 版本4长度5(20字节)
00 服务类型
0054 总长84字节20+64
0010 标识
0000 标志及帧偏移量
40 生存64hops
01 协议:1 -> ICMP
E524 检验
C0A80163 源IP: 192.168.1.99
6F0D645C 目地IP:111.13.100.92
以下64字节显示:...... !"#$%&'()*+,-./01234567
080096982B0000004445F3550CC9070008090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637
EC 17 2F F4 C5 A2 00 16 17 10 04 22 08 00 45 00 00 47 E8 B7 00 00 40 11 0E 38 C0 A8 01 65 C0 A8 01 01 E5 A9 00 35 00 33 11 F3 FE 3A 01 00 00 01 00 00 00 00 00 00 02 39 39 01 31 03 31 36 38 03 31 39 32 07 69 6E 2D 61 64 64 72 04 61 72 70 61 00 00 0C 00 01
文件标题:UDP 192.168.1.101:58793->192.168.1.1:53
EC172FF4C5A2 目地地址
001617100422 源地址
0800 DoD IP
IPV4 头开始
45 版本4长度5(20字节)
00 服务类型
0047 总长71字节20+8+43
E8B7 标识
0000 标志及帧偏移量
40 生存64hops
11 协议:17 -> UDP
0E38 检验
C0A80165 源IP: 192.168.1.101
C0A80101 目地IP: 192.168.1.1
Udp头开始
E5A9 源端口58793
0035 目地端口53
0033 长51字节 8+43
11F3 检验
数据部分43字节,显示:.:...........99.1.168.192.in-addr.arpa...... 注意倒序
FE3A010000010000000000000239390131033136380331393207696E2D61646472046172706100000C0001
00 16 17 10 04 22 EC 17 2F F4 C5 A2 08 00 45 00 00 94 0B 7C 40 00 37 11 B4 26 C0 A8 01 01 C0 A8 01 65 00 35 E5 A9 00 80 B3 EA FE 3A 81 83 00 01 00 00 00 01 00 00 02 39 39 01 31 03 31 36 38 03 31 39 32 07 69 6E 2D 61 64 64 72 04 61 72 70 61 00 00 0C 00 01 C0 11 00 06 00 01 00 00 1E 33 00 41 08 70 72 69 73 6F 6E 65 72 04 69 61 6E 61 03 6F 72 67 00 0A 68 6F 73 74 6D 61 73 74 65 72 0C 72 6F 6F 74 2D 73 65 72 76 65 72 73 C0 45 00 00 00 01 00 09 3A 80 00 00 00 3C 00 09 3A 80 00 09 3A 80
文件标题:UDP 192.168.1.1:53 ->192.168.1.101:58793
00 16 17 10 04 22 目地地址
EC 17 2F F4 C5 A2 源地址
0800 DoD IP
IPV4 头开始
45 版本4长度5(20字节)
00 服务类型
00 94 总长148字节 20+8+120
0B 7C 标识
40 00 标志40及帧偏移量0
37 生存55hops
11 协议:17 -> UDP
B4 26 检验
C0A80101 源IP: 192.168.1.1
C0A80165 目地IP: 192.168.1.101
Udp头开始
00 35 源端口53
E5 A9 目地端口58793
00 80 长128字节8+120
B3 EA 检验
数据部分120字节,显示:
.:...........99.1.168.192.in-addr.arpa..............3.A.prisoner.iana.org..hostmaster.root-servers.E......:....<..:...:.
FE 3A 81 83 00 01 00 00 00 01 00 00 02 39 39 01 31 03 31 36 38 03 31 39 32 07 69 6E 2D 61 64 64 72 04 61 72 70 61 00 00 0C 00 01 C0 11 00 06 00 01 00 00 1E 33 00 41 08 70 72 69 73 6F 6E 65 72 04 69 61 6E 61 03 6F 72 67 00 0A 68 6F 73 74 6D 61 73 74 65 72 0C 72 6F 6F 74 2D 73 65 72 76 65 72 73 C0 45 00 00 00 01 00 09 3A 80 00 00 00 3C 00 09 3A 80 00 09 3A 80
2.
FF FF FF FF FF FF 00 16 17 10 04 22 08 06 00 01 08 00 06 04 00 01 00 16 17 10 04 22 C0 A8 01 65 00 00 00 00 00 00 C0 A8 01 63
文件标题:ARP-Request:who-has 192.168.1.99 tell 192.168.1.101
FFFFFFFFFFFF 目地地址
00 16 17 10 04 22 源地址
0806 ARP(Address Request Protocol)
0001 Ethenet
0800 DoD IP
06 硬件地址长
04 协议地址长
0001 操作码:Request
00 16 17 10 04 22 发送者mac地址
C0A80165 发送者IP:192.168.1.101
000000000000 目标mac地址
C0A80163 目标IP:192.168.1.99
补帧0字节 共42字节
B0 C4 20 A1 3C 00 EC 17 2F F4 C5 A2 08 00 45 00 00 54 00 10 00 00 33 01 F2 24 6F 0D 64 5C C0 A8 01 63 00 00 9E 98 2B 00 00 00 44 45 F3 55 0C C9 07 00 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37
文件标题:ICMP
B0 C4 20 A1 3C 00 目地地址
EC 17 2F F4 C5 A2 源地址
0800 DoD IP
IPV4 头开始 下面有84字节,加上上面的14字节,共98字节
45 版本4长度5(20字节)
00 服务类型
0054 总长84字节20+64
0010 标识:16
0000 标志及帧偏移量
33 生存51hops
01 协议:1 -> ICMP
F2 24 检验
6F 0D 64 5C 源IP: 111.13.100.92
C0 A8 01 63 目地IP:192.168.1.99
以下64字节显示:....+...DE.U............................ !"#$%&'()*+,-./01234567
00 00 9E 98 2B 00 00 00 44 45 F3 55 0C C9 07 00 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37
我们将要模仿上面这段数据发送。
00 16 17 10 04 22 B0 C4 20 A1 3C 00 08 06 00 01 08 00 06 04 00 02 B0 C4 20 A1 3C 00 C0 A8 01 63 00 16 17 10 04 22 C0 A8 01 65 44 45 F3 55 0C C9 07 00 08 09 0A 0B 0C 0D 0E 0F 10 11
文件标题:ARP-Reply:192.168.1.1 is at EC:17:2F:F4:C5:A2
00 16 17 10 04 22 目地地址
B0 C4 20 A1 3C 00 源地址
0806 ARP(Address Request Protocol)
0001 Ethenet
0800 DoD IP
06 硬件地址长
04 协议地址长
0002 操作码: Reply
B0 C4 20 A1 3C 00 发送者mac地址
C0A80163 发送者IP:192.168.1.99
00 16 17 10 04 22 目标mac地址
C0A80165 目标IP:192.168.1.101
44 45 F3 55 0C C9 07 00 08 09 0A 0B 0C 0D 0E 0F 10 11 补帧18字节
以下略......
telnet 130.212.3.51 80 有数据包传输,显示与thecity.sfsu.edu.80 通信。
显示Escape character is ‘^]’( 这里是指示按 ctrl+] )
按ctrl+]进入telnet提示符,按quit退出。