wireshark抓包tcp步骤及分析(Wireshark抓包及分析数据帧)

      最后更新:2023-08-23 05:13

      求大神解答 TCP过程分析 Wireshark 抓包分析

      (1)TCPClient向TCPServer发送连接请求SYN (2)TCPServer收到连接请求后反馈SYN+ACK(3)TCPClient收到SYN+ACK后反馈ACK,三次握手完成,连接建立(4)TCPClient向TCPServer发送100字节的数据(5)TCPServer收到(4)后确认并发送78字节的数据,即捎带确认(6)TCPClient收到(5)后,发送ACK进行确认(7)TCPClient发送100字节的数据 (8)TCPClient发送RST报文,终止连接
      求大神解答 TCP过程分析 Wireshark 抓包分析

      wireshark抓包

      一、  wireshark是捕获机器上的某一块网卡的网络包 ,当你的机器上有多块网卡的时候,你需要选择一个网卡。 例如,我测试本地连接,直接选择“本地连接”,进入如下界面二、 WireShark 主要分为这几个界面1. Display Filter(显示过滤器),  用于过滤2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表不同的协议,你也可以修改这些显示颜色的规则,  View ->Coloring Rules.3. Packet Details Pane(封包详细信息), 显示封包中的字段Frame:   物理层的数据帧概况Ethernet II: 数据链路层以太网帧头部信息Internet Protocol Version 4: 互联网层IP包头部信息Transmission Control Protocol:  传输层T的数据段头部信息,此处是TCPHypertext Transfer Protocol:  应用层的信息,此处是HTTP协议4. Dissector Pane(16进制数据)5. Miscellanous(地址栏,杂项)wireshark顶部显示过滤器使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。过滤器有两种,一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置保存过滤1)设置显示过滤器,按如下步骤进行编辑过滤表达式的规则表达式规则1. 协议过滤比如TCP,只显示TCP协议。2. IP 过滤比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,ip.dst==192.168.1.102, 目标地址为192.168.1.1023. 端口过滤tcp.port ==80,  端口为80的tcp.srcport == 80,  只显示TCP协议的愿端口为80的。4. Http模式过滤http.request.method=="GET",   只显示HTTP GET方法的。5. 逻辑运算符为 AND/ OR常用的过滤表达式三、 wireshark与对应的OSI七层模型TCP包的具体内容从下图可以看到wireshark捕获到的TCP包中的每个字段。四、实例分析TCP三次握手过程看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例三次握手过程为这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。打开wireshark, 打开浏览器输入http://www.cr173.com在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。第一次握手数据包客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图第二次握手的数据包服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图第三次握手的数据包客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图: 就这样通过了TCP三次握手,建立了连接
      wireshark抓包

      如何通过wireshark进行抓包的分析

      启动wireshark后,选择工具栏中的快捷键(红色标记的按钮)即可Start a new live capture。 主界面上也有一个interface list(如下图红色标记1),列出了系统中安装的网卡,选择其中一个可以接收数据的的网卡也可以开始抓包。在启动时候也许会遇到这样的问题:弹出一个对话框说 NPF driver 没有启动,无法抓包。在win7或Vista下找到C: systemsystem32下的cmd.exe 以管理员身份运行,然后输入 net start npf,启动NPf服务。重新启动wireshark就可以抓包了。抓包之前也可以做一些设置,如上红色图标记2,点击后进入设置对话框,具体设置如下:Interface:指定在哪个接口(网卡)上抓包(系统会自动选择一块网卡)。Limit each packet:限制每个包的大小,缺省情况不限制。Capture packets in promiscuous mode:是否打开混杂模式。如果打开,抓 取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。Filter:过滤器。只抓取满足过滤规则的包。File:可输入文件名称将抓到的包写到指定的文件中。Use ring buffer: 是否使用循环缓冲。缺省情况下不使用,即一直抓包。循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。Update list of packets in real time:如果复选框被选中,可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。单击“OK”按钮开始抓包,系统显示出接收的不同数据包的统计信息,单击“Stop”按钮停止抓包后,所抓包的分析结果显示在面板中,如下图所示:为了使抓取的包更有针对性,在抓包之前,开启了QQ的视频聊天,因为QQ视频所使用的是UDP协议,所以抓取的包大部分是采用UDP协议的包。3、对抓包结果的说明wireshark的抓包结果整个窗口被分成三部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。使用wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。上图的数据包列表中,第一列是编号(如第1个包),第二列是截取时间(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是这个包使用的协议(这里是UDP协议),第六列info是一些其它的信息,包括源端口号和目的端口号(源端口:58459,目的端口:54062)。中间的是协议树,如下图:通过此协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。最下面是以十六进制显示的数据包的具体内容,如图:这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便的对各种协议的数据包进行分析。4、验证网络字节序网络上的数据流是字节流,对于一个多字节数值(比如十进制1014 = 0x03 f6),在进行网络传输的时候,先传递哪个字节,即先传递高位“03”还是先传递低位“f6”。 也就是说,当接收端收到第一个字节的时候,它是将这个字节作为高位还是低位来处理。下面通过截图具体说明:最下面是物理媒体上传输的字节流的最终形式,都是16进制表示,发送时按顺序先发送00 23 54 c3 …00 03 f6 …接收时也按此顺序接收字节。 选中total length:1014, 它的十六进制表示是0x03f6, 从下面的蓝色选中区域可以看到,03在前面,f6在后面,即高字节数据在低地址,低字节数据在高地址(图中地址从上到下从左到右依次递增),所以可知,网络字节序采用的是大端模式。
      Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工作环境中的Linux一般只有字符界面,且一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。tcpdump是基于Unix系统的命令行式的数据包嗅探工具。如果要使用tcpdump抓取其他主机MAC地址的数据包,必须开启网卡混杂模式,所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给它或者是它发出的。
      如何通过wireshark进行抓包的分析

      怎样使用Wireshark抓包

      wireshark是一个抓取网络数据包的工具,这对分析网络问题是很重要的,下文将会简单的介绍下如何使用wireshark来抓包。 1、在如下链接下载“wireshark”并在电脑上安装。2、如果之前没有安装过“winpcap”请在下面把安装“winpcap”的勾选上。3、打开安装好的wireshark程序,会看到如下图所示界面:主界面,打开“capture”->“options”在最上面的interface中选择电脑真实的网卡(默认下可能会选中回环网卡),选中网卡后,下面会显示网卡的ip地址,如图中是172.31.30.41,如果ip正确,说明网卡已经正确选择。capturefilter这一栏是抓包过滤,一般情况下可以不理会,留为空。displayoptions就按照我们勾选的来做就行。好,点击start。 选择好保存路径和文件名(请不要中文)后,点击保存。
      怎样使用Wireshark抓包

      如何分析wireshark追踪tcp流中的信息

      在抓包取到的数据包,进行选择需要进行查看的一条的数据包的内容。 然后进行点击wireshark菜单中的“Aanlyze”的菜单中选项。这样就会弹出了下拉菜单中,进行选择为“follow tcp stream”的选项菜单。可以看到在数据包中可以看到数据包流内容,并且对数据包中进行分析。或者使用右键的方式来打开数据包中的数据流。右键一条数据包》follow tcp stream选项。 来查看数据包中的,看具体分析数据流的内容。
      需要设置时间的显示格式: view>time display Format >选择显示格式
      如何分析wireshark追踪tcp流中的信息

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类