建立一个连接需要三次握手,而终止一个连接要经过4次握手 。这是因为一个TCP连接是全双工(即数据在两个方向上能同时传递),每个方向必须单独地进行关闭 。4次握手实际上就是双方单独关闭的过程 。
本例文件下载完后,关闭浏览器终止了与服务器的连接图16的93-96行显示的就是终止连接所经过4次握手过程 。
93行数据显示的是关闭浏览器后,如图17-1所示208号机将FIN置1连同序号(SEQ)987695574发给1号机请求终止连接 。
94行数据和图17-2显示1号机收到FIN关闭请求后,发回一个确认,并将应答信号设置为收到序号加1,这样就终止了这个方向的传输 。
95行数据和图17-3显示1号机将FIN置1连同序号(SEQ)1773196056发给208号机请求终止连接 。
96行数据和图17-4显示208号机收到FIN关闭请求后,发回一个确认,并将应答信号设置为收到序号加1,至此TCP连接彻底关闭 。
3)头信息
点击查看大图
点击查看大图
五、扫描实例
下面我们再举个ping的实例,测试某台计算机是否通,最常用的命令就是ping命令 。Ping 一台计算机,出现如图18所示界面就是通,出现如图19所示界面就是不通,不通有两种情况,一是该计算机不存在或没接网线,二是该计算机安装了防火墙并设置为不答应ping 。如何区别这两种情况呢?下面还是利用iris跟踪上述情况 。
图18
图19
如图20是ping通的情况 。
如图21是ping不通该计算机不存在的情况 。从图可以看出ARP请求没有回应 。
如图22是ping不通,该计算机存在但安装了防火墙的情况 。从图可以看出ARP请求有回应 。但ICMP请求没回应 。
从分析可以看出虽然后两种情况的表面现象是一样的,但实质确是截然相反的 。通过头信息可以清楚的看出PING是ICMP协议来完成的,通讯过程是在第三层完成的,没有用到第四层的TCP协议 。
点击查看大图
图20
点击查看大图
图21
点击查看大图
图22
六、后记
本文不是个教程,许多问题都没有涉及到,比如TCP重发、IP分解、路由等,只是提出个学习思路,希望能起到抛砖引玉的作用 。TCP/IP协议族是非常复杂的,但只要理解了还是不难学的 。最后向感爱好的朋友提个问题:分别telnet三台机器,一台正常23端口开放,一台网是通的但23端口没开放,另外一台是不存在的 。用我们学过的方法跟踪一下,比较三个的不同 。其实这就是用TCP扫描判定对方机器是否在线的一种方法 。
推荐阅读
- 小米11怎么隐藏应用
- 木耳鸡蛋胡萝卜怎么炒
- 我的世界附魔书怎么使用
- 联通四星用户有啥用
- 荣耀20可以用40w充电器吗知乎 荣耀20可以用40w充电器吗
- 三星note9支持18w快充吗 三星note9能用18w充电吗
- 计算机为什么采用二进制
- 河蚌肉怎么炒
- N95使用一月,失望失望
- 三个重要的邮件传输协议之IMAP4
