TCPIP协议和抓包分析.docx
- 文档编号:14515882
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:11
- 大小:306.78KB
TCPIP协议和抓包分析.docx
《TCPIP协议和抓包分析.docx》由会员分享,可在线阅读,更多相关《TCPIP协议和抓包分析.docx(11页珍藏版)》请在冰点文库上搜索。
TCPIP协议和抓包分析
TCP-IP协议和抓包分析
1.数据包
1)OSI参考模型:
起源:
没有标准通信协议造成的混乱
目标:
定义各种网络节点间的通信的框架
目的:
通信标准,解决异种网络互连时所遇到的兼容性问题
优点:
各层互不干扰;简化开发;快速定位网路故障
各层的功能及相关协议:
封装和解封装:
封装:
将上层交给自己的数据包(泛指各种PDU)放进一个或多个本层能理解的数据
包的Data部分,并为这些数据包填充适当的头部字段信息,然后将装配好的数
据包交给下一层。
解封装:
从下层接过本层能理解的数据包,然后去掉本层的数据包头部字段,将Data部
分传给上一层。
2)DOD模型(TCP/IP协议族):
3)对应关系
4)数据包:
a.TCP头部:
b.UDP头部:
c.IP头部:
5)TCP协议三次握手过程的描述:
过程简述:
1)服务器应用启动,建立相应的TCB,进入LISTEN状态;
2)客户端向服务器端发送一个TCP段,该段设置SYN标识,请求跟服务器端应用同步,之后进入SYN-SENT状态,等待服务器端的响应;
3)服务器端应用收到客户端的SYN段之后,发送一个TCP段响应客户端,该段设置SYN和ACK标识,告知客户端自己接受它的同步请求,同时请求跟客户端同步。
之后进入SYN-RECEIVED状态;
4)客户端收到服务器端的SYN+ACK段之后,发送一个TCP段,该段设置ACK标识,告知服务器端自己接受它的同步请求。
之后,进入ESTABLISHED状态;
5)服务器端应用收到客户端的ACK段之后,进入ESTABLISHED状态。
到此,客户端跟服务器端的TCP连接就建立起来了。
6)TCP/UDP协议之比较:
7)TCP状态机:
解释:
TCP连接建立的两种方式:
A)常规的三次握手方式:
见5)TCP协议三次握手过程的描述
B)同步开放方式:
1)服务器应用启动,建立相应的TCB,进入LISTEN状态;
2)客户端向服务器端发送一个TCP段,该段设置SYN标识,请求跟服务器端应用同步,之后进入SYN-SENT状态,等待服务器端的响应;
3)服务器端应用收到客户端的SYN段之后,发送一个TCP段响应客户端,该段设置SYN,告知客户端自己请求跟它同步。
之后进入SYN-RECEIVED状态;
4)客户端收到服务器端的SYN段之后,发送一个TCP段,该段设置ACK标识,告知服务器端自己接受它的同步请求。
之后进入SYN-RECEIVED状态;
5)服务器端应用收到客户端的ACK段之后,向客户端发送一个TCP段,该段设置ACK标识,告知客户端自己接受它的同步请求,进入ESTABLISHED状态。
6)客户端收到服务器端的ACK段之后,进入ESTABLISHED状态。
到此,客户端跟服务器端的TCP连接就建立起来了。
使用这种方式建立TCP连接的应用比较少。
注意:
1)对于服务器端来说,不管使用方式A还是方式B建立连接,它都经历3个状态:
LISTEN→SYN-RECEIVED→ESTABLISHED;而对于客户端来说,就不一样了。
对于方式A,客户端经历2个状态:
SYN-SENT→ESTABLISHED,对于方式B,客户端要经历3个状态:
SYN-SENT→SYN-RECEIVED→ESTABLISHED。
2)对于服务器端来说,当它收到客户端的SYN段之后,不管它是发送SYN+ACK段响应客户端,还是发送SYN段响应客户端,它都进入到SYN-RECEIVED状态。
TCP关闭连接的两种方式:
方式一:
(1)客户端向服务器端发送一个FIN段,请求关闭连接。
之后进入FIN_WAIT_1状态;
(2)服务器端收到客户端的FIN段之后,发送一个ACK段,响应客户端。
之后,进入CLOSE_WAIT状态;
(3)客户端收到服务器端的ACK段之后,进入FIN_WAIT_2状态。
等待服务器端的FIN段。
(4)服务器端等待应用关闭后,发送一个FIN段给客户端。
进入LAST_ACK状态。
(5)客户端收到服务器端的FIN段之后,发送一个ACK段响应服务器端。
之后进入TIME_WAIT状态。
一旦time_wait计时器超时后,连接就关闭了。
(6)服务器端收到客户端的ACK段之后,连接关闭了。
方式二:
(1)客户端向服务器端发送一个FIN段,请求关闭连接。
之后进入FIN_WAIT_1状态;
(2)服务器端收到客户端的FIN段之后,发送一个FIN段,响应客户端。
之后,进入CLOSE_WAIT状态;
(3)客户端收到服务器端的FIN段之后,发送一个ACK段响应服务器端。
之后进入CLOSING状态。
(4)服务器端收到客户端的ACK段之后,发送一个ACK段相应客户端。
之后关闭连接。
(5)客户端收到服务器端的ACK段之后,进入TIME_WAIT状态。
一旦time_wait计时器超时后,连接就关闭了。
还有其它关闭连接的方式,本文未列出。
8)推荐阅读:
TheTCP/IPGuide(
2.网络抓包(客户机(ethereal),服务器(tcpdump),网络设备(debug))
3.故障/异常诊断:
1)PING不通,不能完成三次握手:
a.检查路由:
routeprint/iproutelist/shiproute
b.如果路由OK,ping网关
c.如果网关能ping通,tracert/traceroute/traceroute<远程地址>,找出故障位置
2)完成了三次握手,但是不能正常使用服务
a.检查服务是否起来了
b.检查服务是否在你试图连接的地址上监听
c.检查连接是否被防火墙(网络防火墙,主机防火墙,应用防火墙)干掉了
3)网络中充斥着大量的SYN包:
a.在linux下抓取SYN包进行分析:
tcpdump‘tcp[tcpflags]&(tcp-syn)!
=0’and‘tcp[tcpflags]&(tcp-ack)=0′
b.如果可以上65的交换机或者路由器,可以启用TCP拦截进行跟踪
4.实际操作:
#Lastmodifiedat:
October25th,200801:
11pm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCPIP 协议 分析