1.ping
1.1 简介
ping用的是icmp协议(控制报文协议 ,在网络层),用ip包传输数据,协议号是1。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
icmp请求报文类型是8,响应报文是0, ping用于测试网络的速度和稳定性(丢包率和响应时间)
proto ICMP (1) -> 协议号
[root@dhcp ~]# tcpdump -i ens33 -vv -p icmp
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
15:13:29.469379 IP (tos 0x0, ttl 64, id 10615, offset 0, flags [DF],
->[proto ICMP (1)], length 84)
dhcp > 36.155.132.3: ICMP echo request, id 1578, seq 1, length 64
[root@dhcp ~]# ping www.baidu.com
PING www.baidu.com (36.155.132.3) 56(84) bytes of data.
64 bytes from 36.155.132.3 (36.155.132.3): icmp_seq=1 ttl=128 time=37.5 ms
1.2 ping不通的原因
1.2.1 没有填写网关ip或者填写错误
注销或者写一个不存在的网关ip会出现
[root@dhcp ~]# ping 192.168.3.1
connect: 网络不可达
[root@dhcp network-scripts]# cat ifcfg-ens33
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.249.160
PREFIX=24
#GATEWAY=192.168.249.2
GATEWAY=192.168.256.1
DNS1=114.114.114.114
1.2.2 目的主机不可达
目的主机不能达是没有这个ip或者网关是错误的,没反应的是有防火墙或者其它禁止ping的手段
[root@dhcp ~]# ping 192.168.249.1
PING 192.168.249.1 (192.168.249.1) 56(84) bytes of data.
^C
--- 192.168.249.1 ping statistics ---
102 packets transmitted, 0 received, 100% packet loss, time 101491ms
[root@dhcp ~]# ping 192.168.3.1
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.
From 192.168.249.160 icmp_seq=1 Destination Host Unreachable
From 192.168.249.160 icmp_seq=2 Destination Host Unreachable
From 192.168.249.160 icmp_seq=3 Destination Host Unreachable
From 192.168.249.160 icmp_seq=4 Destination Host Unreachable
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.249.160
PREFIX=24
#GATEWAY=192.168.249.2
GATEWAY=6.6.6.6
DNS1=114.114.114.114
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.249.160
PREFIX=24
GATEWAY=192.168.249.2
DNS1=114.114.114.114
1.2.3 未知的名称或服务
第一种是没网络,不能解析域名 。一般是网关错误,导致上不了网,看pingip是否ping通,ping不通就是这种,不然就是DNS有问题。
[root@dhcp ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@dhcp ~]# ping 36.155.132.76
PING 36.155.132.76 (36.155.132.76) 56(84) bytes of data.
From 192.168.249.160 icmp_seq=1 Destination Host Unreachable
From 192.168.249.160 icmp_seq=2 Destination Host Unreachable
From 192.168.249.160 icmp_seq=3 Destination Host Unreachable
第二种是没有填写dns服务器或者填错了,应该是114.114.114.114
[root@dhcp ~]# ping 36.155.132.76
PING 36.155.132.76 (36.155.132.76) 56(84) bytes of data.
64 bytes from 36.155.132.76: icmp_seq=1 ttl=128 time=30.3 ms
64 bytes from 36.155.132.76: icmp_seq=2 ttl=128 time=30.6 ms
[root@dhcp ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@dhcp network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.141
1.3 ping的过程
DNS解析不管的话。 先看是不是同网段的ip,同网段就走直连路由,不是再走默认路由。
ping www.taobao.com 先进行dns解析,然后得到目的ip是111.47.247.102,发现不是同网段的 ,走默认路由192.169.1.1,根据路由器的路由表走对应的下一跳,直到目标ip.整个过程中如果不知道对应的mac地址,需要arp协议获得。
tracert -4 www.taobao.com(windows系统的命令)
通过最多 30 个跃点跟踪
到 www.taobao.com.danuoyi.tbcache.com [111.47.247.102] 的路由:
1 5 ms 5 ms 3 ms RTK_GW.bbrouter [192.168.1.1]
2 * * 312 ms 120.202.7.248
3 8 ms 9 ms 8 ms 111.47.47.10
4 13 ms 14 ms 12 ms 120.202.0.49
5 16 ms 13 ms 14 ms 111.47.196.18
6 59 ms 25 ms 52 ms 111.47.251.70
7 * * * 请求超时。
8 * * * 请求超时。
9 14 ms 12 ms 13 ms 111.47.247.102
跟踪完成。
2. arping
2.1 简介
arping用的是arp协议(Address Resolution Protocol,地址解析协议)将一个已知的IP地址解析成MAC地址,在网络层。
2种类型的数据包:
1.请求包 arp_request:
不知道某个ip对应的mac地址,我发请求的广播包,去获得ip对应的mac -->广播的 帧封装目的mac是FFFFFFFFFFFF
2.响应包 arp_response:
对应的某台服务器响应的arp请求包 --> 单播
2.2 arping的作用
检查一个ip地址 是否有冲突--》有多个相同的ip
一般是手动配置ip地址,没有ping一下有没有人用这个ip导致,用一个ip可能导致网络出问题,有时也没事,做好不要冲突。
[root@test ~]# arping 192.168.249.182
ARPING 192.168.249.182 from 192.168.249.154 ens33
Unicast reply from 192.168.249.182 [00:0C:29:5F:37:95] 1.023ms
Unicast reply from 192.168.249.182 [00:0C:29:5C:8D:A7] 1.068ms
Unicast reply from 192.168.249.182 [00:0C:29:5C:8D:A7] 1.428ms
Unicast reply from 192.168.249.182 [00:0C:29:5C:8D:A7] 0.955ms
Unicast reply from 192.168.249.182 [00:0C:29:5C:8D:A7] 3.559ms