ICMP是什么?
ICMP(Internet Control Message Protocol)互联网控制报文协议。它是TCP/IP子族的一个子协议,用于在IP主机,路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP是一个“错误侦测与回馈机制”,是通过IP数据包封装的,用来发送错误和控制消息。
ICMP协议的封装
ICMP协议属于网络层协议。
ICMP数据的封装过程
ICMP 协议的头部:类型,数据。ICMP头部封装会消耗8个字节的空间。
ping命令的使用
- ping通
- ping不通
- 请求超时:要么是对方开启了防火墙,不允许icmp协议包通过;要么是中间路由器丢弃了我们的ping包。
- Destination Host Unreachable:一般是ip地址没有人使用。
- 网络不可达:没有填写默认网关。
- 未知的名称或服务:没有填写dns服务器地址。
windows里使用ping命令
C:\Users\wei>ping 142.251.43.4
正在 Ping 142.251.43.4 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。
Linux里使用ping命令
[root@localhost ~]# ping 192.168.0.111
PING 192.168.0.111 (192.168.0.111) 56(84) bytes of data.
From 192.168.0.131 icmp_seq=3 Destination Host Unreachable
From 192.168.0.131 icmp_seq=6 Destination Host Unreachable
^C
--- 192.168.0.111 ping statistics ---
9 packets transmitted, 0 received, +2 errors, 100% packet loss, time 198ms
[root@localhost ~]# ping 114.114.114.114
connect:网络不可达
[root@localhost network-scripts]# ping www.baidu.com
ping: www.baidu.com:未知的名称或服务
[root@localhost network-scripts]# LANG=en_US.UTF8
[root@localhost network-scripts]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
[root@localhost ~]# vim /etc/resolv.conf
# --->存放dns服务器ip地址的,真正我们进行域名查询的时候,就到这个文件里找dns服务器地址
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 192.168.100.1
nameserver 8.8.8.8
# nameserver最多可以3个
[root@localhost network-scripts]# ifup ens33
# 当我们激活新的配置的时候,NetworkManager服务会读取ifcfg-ens33里的dns1这个配置写到/etc/resolv.conf
# ifcfg-ens33 里的dsn1决定了resolv.conf文件里的nameserver的值
# 但是真正有效的是resolv.conf文件
ping的过程
1.如果是域名,先进行域名解析到具体的一个ip。
2.将要ping的ip地址和自己的子网掩码进行与运算,得出相应的网段号114.114.114.0。
3.然后到自己的电脑里的路由表里查询是否由到这个网段的路由。
ping命令的基本格式为
ping [–t] [-l 字节数] [-a] [-i] IP_Address| target_name
-t 参数会一直不停的执行ping。调试故障或需进行持续连通性测试时应用。Ctrl+C可以中断命令。
C:\Users\wei>ping 192.168.1.1 -t
正在 Ping 192.168.1.1 具有 32 字节的数据:
来自 192.168.1.1 的回复: 字节=32 时间=20ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=3ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=9ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=4ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=18ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=12ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=2ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=3ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=13ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=9ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=2ms TTL=64
192.168.1.1 的 Ping 统计信息:
数据包: 已发送 = 11,已接收 = 11,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 2ms,最长 = 20ms,平均 = 8ms
Control-C
^C
C:\Users\wei>
-a 参数可以显示主机名称。
C:\Users\wei>ping -a www.baidu.com
正在 Ping www.a.shifen.com [112.80.248.75] 具有 32 字节的数据:
来自 112.80.248.75 的回复: 字节=32 时间=23ms TTL=53
来自 112.80.248.75 的回复: 字节=32 时间=25ms TTL=53
来自 112.80.248.75 的回复: 字节=32 时间=27ms TTL=53
来自 112.80.248.75 的回复: 字节=32 时间=43ms TTL=53
112.80.248.75 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 23ms,最长 = 43ms,平均 = 29ms
-l 参数可以设定ping包的大小。单位为字节,可用于简单测试通信质量。
C:\Users\wei>ping 192.168.1.120 -l 200
正在 Ping 192.168.1.120 具有 200 字节的数据:
来自 192.168.1.120 的回复: 字节=200 时间<1ms TTL=64
来自 192.168.1.120 的回复: 字节=200 时间<1ms TTL=64
来自 192.168.1.120 的回复: 字节=200 时间=2ms TTL=64
来自 192.168.1.120 的回复: 字节=200 时间<1ms TTL=64
192.168.1.120 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 2ms,平均 = 0ms
ping命令的更多用法。
用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name
选项:
-t Ping 指定的主机,直到停止。
若要查看统计信息并继续操作,请键入 Ctrl+Break;
若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
-i TTL 生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,
对 IP 标头中的服务类型字段没有任何
影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。
如果使用此标头,某些系统可能丢弃
回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
什么是DOS攻击
DOS攻击(拒绝服务攻击)之 死亡之ping:通过发送大量的无用请求数据包给服务器,耗尽服务器资源,从而无法通过正常的访问服务器资源,导致服务器崩溃。
如果多个ip通过发起对一个服务器的攻击,如果无防御措施,不管服务器内存多大,宽带多宽,CPU多快,都无法抵御这种攻击。
三层交换机
1.开启路由功能
Switch(config-if)#exit
Switch(config)#exit
Switch#en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#ip routing
2.让交换机的接口成为路由接口
Switch#en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface f0/1
Switch(config-if)#no switchport
3.给vlan配置ip地址
Switch(config)#interface vlan 1
Switch(config-if)#ip add 192.168.1.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config)#exit
Switch(config)#interface vlan2
Switch(config-if)#ip add 192.168.2.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#interface vlan 3
%LINK-5-CHANGED: Interface Vlan3, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan3, changed state to up
Switch(config-if)#ip add 192.168.3.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#end
4.查看路由
Switch#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.1.0/24 is directly connected, Vlan1
C 192.168.2.0/24 is directly connected, Vlan2
C 192.168.3.0/24 is directly connected, Vlan3
C 192.168.6.0/24 is directly connected, FastEthernet0/1
5.在三层交换机上添加1条静态路由
Switch(config)#ip route 192.168.5.0 255.255.255.0 192.168.6.2
Switch(config)#end
Switch#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.1.0/24 is directly connected, Vlan1
C 192.168.2.0/24 is directly connected, Vlan2
C 192.168.3.0/24 is directly connected, Vlan3
S 192.168.5.0/24 [1/0] via 192.168.6.2
C 192.168.6.0/24 is directly connected, FastEthernet0/1