文章内容
一、IP数据包格式
- 版本:IP的版本号,如IP4或IP6,目前为IP4
- 首部长度:仅表示该数据包头长度
- 服务类型:在数据包中划分一定的优先级
- 总长度:表示整个数据包的长度
- 标识:表示IP数据包的标识符
- 标志:标志和分片一起被用来传递信息
- 段偏移量:上层数据到IP层会分片,段偏移量中包含的信息是在一个分片序列中如何将个分片重新连接起来
- 生存时间(TTL):标准IP数据包转发的生命周期
- 校验和:检验数据的完整性
- 源地址:发送该数据包的设备的网络地址
- 目的地址:接受该数据包的节点的网络地址
二、ICMP协议
2.1含义:
- 是一个”错误侦测和回馈机制 ” .
- 通过IP数据包封装
- 用来发送错误和控制消息,目的是使管理员能掌握网络的联通状况。
2.2协议的基本使用
在网络中,ICMP的使用是靠各种命令来实现
- ping :检查网络的连通性
- ping -t:连续ping通
- ping -l:设置ping包的大小
- ping -a:可以返回对方主机的主机名
- traceroute: 路径追踪
三、ARP协议
3.1含义:
将一个IP地址解析成MAN地址,以便通过MAC地址通信
3.2ARP请求广播:
- 客户端1发送数据给客户端2,查看ARP缓存表中有没有客户端2的MAC地址,(ARP缓存表有默认180秒的老化时间)
- 客户端1发送ARP请求消息(广播),其中包含了客户端1的IP地址和MAC地址
- 因为是广播,区域内所有的客户端都收到了ARP请求消息并记录了消息
- 只有客户端2接收到了消息并以单播回应,其它都放弃回应
3.3查看ARP缓存
arp -a:查看ARP缓存
arp -d:删除arp缓存表
以下为仅两台PC机直接相连的查看情况
PC>ping 192.168.1.2
Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break
From 192.168.1.2: bytes=32 seq=1 ttl=128 time=16 ms
From 192.168.1.2: bytes=32 seq=2 ttl=128 time<1 ms
From 192.168.1.2: bytes=32 seq=3 ttl=128 time<1 ms
From 192.168.1.2: bytes=32 seq=4 ttl=128 time=16 ms
From 192.168.1.2: bytes=32 seq=5 ttl=128 time<1 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 0/6/16 ms
PC>arp -a
Internet Address Physical Address Type
192.168.1.2 54-89-98-A8-64-2A dynamic
3.4ARP攻击和欺骗的原理和应用
3.4.1ARP攻击
原理和应用:
- 主机A欺骗主机B,制造假的ARP应答,其中包含虚假的网关的MAC地址是虚假
- 主机A欺骗网关,制造家的ARP应答,其中包含虚假的主机B虚假的MAC地址
- 主要应用是使主机B不能上网
3.4.2ARP欺骗
原理和应用:通过冒充网关和其他主机到达被欺骗网关或主机的流量经过过程,通过转发流量可以控制流量和查看机密信息
可以通过设置ARP防火墙来抵御ARP攻击和欺骗**
四、TCP协议
含义:面向连接的,可靠的进程到进程通信的协议,可提供全双工服务。
4.1TCP报文段
- 源端口号:对应发送方的端口号
- 目标端口号:对应接受方的端口号
- 序号:对接受数据字节的编号
- 确认号:告诉发送端已收到信息
- 保留:留作拓展
- 控制位(重点):
URG:紧急指针效应
ACK:当ACK=1时,确认后才有效,ACK=0时,确认号无效
PSH:标志位为1时要求接受方将数据送达应用层
RST:RST=1时表示重传数据
SYN:TCP需要建立连接时,将SYN=1
FIN:TCP断开连接时,将FIN=1
- 窗口大小:本地可接受数据段的大小,可以改变该大小值
- 校验和:能校验数据的完整性
4.2TCP常用协议及其端口号
FTP | 20,21 |
---|---|
telnet | 23 |
SNMP | 161 |
HTTP | 80 |
POP3 | 110 |
4.3TCP三次握手(重点)
注释:
- 首先,客户端A要跟服务端建立连接,向服务端B发送SYN=1的报文
- 服务端B收到消息,服务端B思考了一下确认消息,再发送SYN=1,ACK=1的报文给客户端A确定建立连接
- 最后客户端发送ACK=1的报文连接确认建立。
用抓包数据显示:
4.4TCP四次握手
注释:
- 客户端先发送FIN=1,ACK=1的报文给服务端要断开连接
- 服务端发送ACK=1的报文非客户端同意断开连接
- 服务端发送FIN=1,ACK=1报文给客户端确认中止连接
- 客户端发送ACK=1的报文给客户端确认断开连接
在第四步过后还有个time-wait等待时间(一般是1到4分钟)在此等待时间服务端与客户端的连接其实还未完全断开,等待时间过了才完全断开连接。
五、UDP协议
5.1特点:
- 无连接性,不可靠性
- 花费的开销小
- 传输效率快
5.2UDP协议首部格式
源端口号 | 目的端口号 |
---|---|
UDP长度 | 校验和 |
此协议的校验和不能校验数据的完整性。
> `**最后:听说在下面点赞的会有好运**`