网络核心大全

tcpdump分析IP协议

2019-04-01  本文已影响0人  十毛tenmao

IP协议是互联网最基础的协议,在使用tcpdump查看数据包的时候,有时候对一些字段的汉所以不是很明确

比如:

[tenmao@localhost ~]$ sudo tcpdump -i any -n icmp -vvvv
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
21:11:21.505189 IP (tos 0x0, ttl 64, id 36112, offset 0, flags [DF], proto ICMP (1), length 84)
    192.168.58.100 > 14.215.177.38: ICMP echo request, id 61852, seq 1, length 64
21:11:21.509826 IP (tos 0x0, ttl 128, id 49303, offset 0, flags [none], proto ICMP (1), length 84)
    14.215.177.38 > 192.168.58.100: ICMP echo reply, id 61852, seq 1, length 64

我们仔细对照IP协议来分析上面的内容

IP协议字段解释


IP协议头

下来的3个字段则描述如何实现分片:

tcpdump抓取二进制数据

[tenmao@localhost ~]$ sudo tcpdump -i any -nxt icmp -vvvv
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
IP (tos 0x0, ttl 64, id 8012, offset 0, flags [DF], proto ICMP (1), length 84)
    192.168.58.100 > 14.215.177.38: ICMP echo request, id 9198, seq 1, length 64
    0x0000:  4500 0054 df3d 4000 4001 a060 c0a8 3a64
    0x0010:  0ed7 b127 0800 cbae 472e 0001 5d71 a35c
    0x0020:  0000 0000 1e81 0700 0000 0000 1011 1213
    0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223
    0x0040:  2425 2627 2829 2a2b 2c2d 2e2f 3031 3233
    0x0050:  3435 3637

IP头部对照解析

IP (tos 0x0, ttl 64, id 8012, offset 0, flags [DF], proto ICMP (1), length 84)
    192.168.58.100 > 14.215.177.38: ICMP echo request, id 9198, seq 1, length 64
4500 0054 1f4c 4000 4001 6053 c0a8 3a64
字段 协议 内容 对应的tcpdump文字描述
0x4 4位的版本号 IP版本号
0x5 4位的头部长度 头部长度为5个字(20字节)
0x00 8位的服务类型TOS 普通服务 tos 0x0
0x0054 16位的总长度 数据包总长度(84字节) length 84
0x1f4c 16位的标识 数据报标识 id 8012
0x4 3位的标志 禁止分片,因没携带数据 flags [DF]
0x000 13位的位偏移 为0表没发生位偏移 offset 0
0x40 8位的生存时间 生存时间为64跳 ttl 64
0x01 8位的协议字段 为1表上层协议是ICMP协议 proto ICMP (1)
0x6053 16位的IP头部校验和 头部校验和
0xc0a8 3a64 32位的源端IP地址 源端IP地址192.168.58.100 192.168.58.100
0x0ed7 b126 32位的目的端IP地址 目的端IP地址14.215.177.38 14.215.177.38

更多字段

tos(Type of Service):

8个优先级的定义如下:
111--Network Control(网络控制);
110--Internetwork Control(网间控制);
101--Critic(关键);
100--Flash Override(疾速);
011--Flash(闪速);
010--Immediate(快速);
001--Priority(优先);
000--Routine(普通)

常见proto协议号

参考

上一篇下一篇

猜你喜欢

热点阅读