利用wireshark抓取TCP的整个过程分析。

原文地址:https://www.cnblogs.com/NickQ/p/9226579.html

最近,已经很久都没有更新博客了。看看时间,想想自己做了哪些事情,突然发现自己真的是太贪心,到头来却一个都没搞好。手头的嵌入式都还没学出名堂,竟然还想着学FPGA,物联网,机器学习。然而,遇到新奇的事物,就会控制不住的去想,去找资料,实际上只是逃避遇到的问题,不想去解决而已。。最后的结果就是手头的活堆起来了,然后花大把整块的时间解决。真的是讨厌现在的自己。

以后还是慢慢记录吧,不管做了什么,都慢慢尝试积累。。其他的东西,像FPGA,机器学习什么的,让他随风去吧,用到啥学啥。其他的当看客,了解了解就好。

这是计算机网络的一次作业,学习抓取TCP/IP建立连接和断开连接的过程,以下是正文:

步骤:

首先尝试抓百度,腾讯等网络连接,发现会有许多问题需要考虑,断开连接操作不好操作,且数据冗杂不利于学习。

所以借助手机和电脑完成此次过程,操作如下:

1、在手机端,安装TCP测试工具,开启TCP监听,端口8088;

2、打开wireshark监听WIFI网卡。

3、打开电脑端TCP测试客户端,连接TCP服务器。

此处,我的手机IP为192.168.255.5,端口8088;电脑的IP地址为192.168.255.6。

4、通过电脑客户端,发送两次信息到手机。

5、通过手机客户端,发送两次信息到电脑。

6、断开连接。

7、通过ip.addr eq 192.168.255.5 and ip.addr eq 192.168.255.6 and tcp过滤掉其他报文。

至于wireshark过滤的语法,可以参考其他的一些博文:https://blog.csdn.net/wojiaopanpan/article/details/69944970

协议及过程分析:

TCP三次握手:如下图中蓝色方框所示。

TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;如下图中报文No.7

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;如下图中报文No.8

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据。如下图中报文No.9

TCP四次挥手:如上图中红色方框所示。

注:此处,由于先断开的服务器,所以手机服务器是客户端A。

第一次挥手:客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。

如图中报文No.255

第二次挥手:服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。如图中报文No.256

第三次挥手:服务器B关闭与客户端A的连接,发送一个FIN给客户端A。如图中报文No.257

第四次挥手:客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。如图中报文No.258

其他:

下图是其中一帧数据解析,可以看到数据是由192.168.255.6:62643(电脑客户端)发送给192.168.255.5:8088(手机服务端)。

消息内容为:201521111083

原文地址:https://www.cnblogs.com/NickQ/p/9226579.html

时间: 2024-08-28 22:38:30

利用wireshark抓取TCP的整个过程分析。的相关文章

利用wireshark抓取Telnet的用户名和密码

使用wireshark抓取Telnet   目标ip地址(telnet  192.168.88.1 ) 1,首先打开wireshark,然后选择网卡,点击开始. 2,为了在filter中输入telnet 或者输入(ip.dst == 目标ip地址 and  tcp.port== 23). 3,看下面的数据包,找到telnet  并且能够看到data:\r\n:如下图 4,接下来再看下面的数据包,就能看到明文用户名和密码了.如下图 这时候你就可以看到明文用户名的首字母x了,继续看下去你可以找到后面

Android利用wireshark抓取网络数据包

Android利用tcpdump和wireshark抓取网络数据包:http://blog.csdn.net/forlong401/article/details/23538737 Mac OS X上使用Wireshark抓包:http://blog.csdn.net/phunxm/article/details/38590561 Mac mini下wireshark抓包的使用:http://blog.sina.com.cn/s/blog_50da19a50101nxzn.html 如何mac下

Android利用tcpdump和wireshark抓取网络数据包

主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次握手,但相对来说使用Fiddler进行网络数据抓包和展现更方便,优点包括: (1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂 (5) 可以查看https请求,建议使用Fillder,具体可见:利用Fiddler进行网络数据抓包. 1.下载并安装tcpdump

使用wireshark 抓取 http https tcp ip 协议进行学习

使用wireshark 抓取 http https tcp ip 协议进行学习 前言 本节使用wireshark工具抓包学习tcp ip http 协议 1. tcp 1.1 tcp三次握手在wireshark中的体现 1.1.1 三次握手过程 1.1.1 wireshark中三次握手过程 在wireshark中抓一次三次握手过程 客户端 客户端发送SYN=1 的请求连接的标记位,以及一个随机序列号X 服务端 服务端发送一个ACK标志位(ack之前的syn),随之一个ack号码为X+1 确认接收

对比使用Charles和Fiddler两个工具及利用Charles抓取https数据(App)

原文:https://www.cnblogs.com/qingqing-919/p/8444816.html 对比使用Charles和Fiddler两个工具及利用Charles抓取https数据(App) 实验目的:对比使用Charles和Fiddler两个工具 实验对象:车易通App,易销通App 实验结果: 1.     接口数据呈现方式对比: (1) Charles树状结构呈现于屏幕,清晰易区分 (2)Fiddler默认按时间倒叙呈现所有接口数据,不易区分 个人觉得图形界面上Charles

WireShark抓取QQ邮箱

WireShark抓取QQ邮箱 实验环境:MacOS + WireShark 1.QQ邮箱是网址是基于HTTPS协议的 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)能够加密信息,由HTTP+TLS/SSL组成,在原本的HTTP协议上增加了一层加密信息模块,服务端和客户端的信息传输都要经过TLS进行加密,所以传输的数据都是加密后的数据. 2.TLS/SSL 简介 握手过程: 1.初始化阶段.客户端创建随机数,发送Client

利用Fiddler抓取websocket包

一.利用fiddler抓取websockt包 打开Fiddler,点开菜单栏的Rules,选择Customize Rules... 这时会打开CustomRules.js文件,在class Handlers中加入以下代码 static function OnWebSocketMessage(oMsg: WebSocketMessage) { // Log Message to the LOG tab FiddlerApplication.Log.LogString(oMsg.ToString()

利用RCurl抓取电影团购信息

1 抓取的网址是360团购 http://tuan.360.cn/bei_jing/c_0.html?kw=电影&pageno=1#tuanFilter 2 利用firefox的FireBug插件分析其源代码,如下所示: "//*/h3[@class='desc']" 匹配电影院名称 "//*/span [@class='discount']" 匹配原价 "//*/span [@class='price']" 匹配优惠价 "//

利用Wireshark抓包登录博客园

1,打开WireShark,选择本地网卡. 2,在filter中输入过滤条件Http. 3,找到http包中的get 和post的包,这时你可以找到你登录的用户名和密码了,这个用户名和密码通过表单进行验证. 利用Wireshark抓包登录博客园,布布扣,bubuko.com