精华内容
下载资源
问答
  • Wireshark抓取TCP报文类型为RST的方法

    千次阅读 2015-03-06 09:53:00
    Wireshark中有时候需要抓取详细的TCP链接类型,最近需要抓取一个RST报文类型,后来经过研究发现,如果需要在抓取中过滤,则设置类型为tcp[13]&4==4 || tcp[13]&4==14 #tcp的flag在偏移13字节的地方,占据1字节...

    在Wireshark中有时候需要抓取详细的TCP链接类型,最近需要抓取一个RST报文类型,后来经过研究发现,如果需要在抓取中过滤,则设置类型为

    tcp[13]&4==4 || tcp[13]&4==14 #tcp的flag在偏移13字节的地方,占据1字节

    Display filter来自于Wireshark,用于对捕获包的显示过滤。Wireshark利用此filter还是实现了coloring rules,statistics等功能。

    展开全文
  • 使用wireshark分析tcp报文

    万次阅读 2019-05-12 19:21:12
    分析tcp网络协议报文时,借助当前强力的工具wireshark可以起到很好的辅助作用。 首先抓取了一个简单的http请求报文, 选取其中的一次完整请求,追踪tcp流: 可以在报文中看到tcp的3次握手,以及http 的request ...

    前言

    TCP协议在网络过程中,是一个最常见不过的协议了。在分析tcp网络协议报文时,借助当前强力的工具wireshark可以起到很好的辅助作用。


    首先抓取了一个简单的http请求报文,

    选取其中的一次完整请求,追踪tcp流:

    可以在报文中看到tcp的3次握手,以及http 的request 和 response ,还有tcp的4次断开。
    另外整个封包列表的面板中也有显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 可以看到不同的协议用了不同的颜色显示,当然也可以在View ->Coloring Rules中修改显示颜色的规则。

    TCP 基本概念


    上图圈起来的就是封包详细信息(Packet Details Pane):
    这是最重要的信息,用来查看协议中的每一个字段。而OSI七层模型分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
    在封包信息中,每行对应的含义及在OSI模型中的对应关系如下:
      Frame: 物理层的数据帧概况 ->对应OSI七层模型中的【物理层】
      Ethernet II: 数据链路层以太网帧头部信息 ->对应OSI七层模型中的【数据链路层】
      Internet Protocol Version 4: 互联网层IP包头部信息 ->对应OSI七层模型中的【网络层】
      Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP ->对应OSI七层模型中的【传输层】
    Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议 ->对应OSI七层模型中的【应用层】

    这根据报文的抓取的设备以及报文被封装的程度,会有不同的显示,比如截图里面的报文是在虚拟机上抓取的,就不会有物理设备的报文信息,在有些网络拓扑环境下,还会有封装成vlan或vxlan的报文,就可以在wireshark那里成功看到。
    不同的模型层和不同协议报文,对应的报文头部长度是不一致的,所以在计算报文的lengeth时,要考虑这些地方。

    tcp 3次握手和4次断开的报文梳理

    首先示例图来说明下tcp的连接/数据传输/断开的过程:

    百度百科解释TCP三次握手过程如下:

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN SENT状态,等待服务器确认;SYN:即是同步序列编号(Synchronize Sequence Numbers);

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

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

    结合报文情况对比查看;
    client ----> SYN seq=480449269 ------> server
    Server -----> SYN seq=1569499109,ACK=480449270 ----> client
    Clinet (seq = 480449270) -----> ACK=1569499110 ------> server

    如下截图:

    这里的seq num 显示的是绝对值,所以在单纯分析本次请求流时,绝对值的seq num可能不易与阅读,可以调整wireshark配置,查看相对seq num。

    数据报文中,第1,2,3条数据包是进行tcp 3次握手,
    而,第4 到 9 是进行的数据传输,这里是完成了一次http 请求;
    第10,11,12,13 四条报文是进行了tcp的4次断开。

    在这里插入图片描述

    在数据传输中的报文,需要注意报文大小,length和 tcp传输窗口大小,大包/小包,切片/聚合等等,场景各种都有需要灵活分析,经验推理。

    tcp协议4次断开:

    关于断开请求的报文数据这一块,一般会主要关心是那端主要发起的FIN报文标记进行断开,非正常情况更会有RST报文标记。

    总之网络数据报文内容奇多无比,涉及到的知识和工具使用技巧都很多,在运维过程中,还是对运维过程有很大的帮助的。

    展开全文
  • 使用wireshark抓取网络报文分析 参考 https://blog.csdn.net/budding0828/article/details/86560467?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task ...

    Wireshark

    Wireshark(Ethereal)是一个免费的网络报文分析软件。网络报文分析软件的功能是抓取网络报文,并逐层显示报文中各字段取值。网络报文分析软件有个形象的名字“嗅探工具”,像一只猎狗,忠实地守候在接口旁,抓获进出该进口的报文,分析其中携带的信息,判断是否有异常,是网络故障原因分析的一个有力工具。网络报文分析软件曾经非常昂贵,Ethereal/wireshark 开源软件的出现改变了这种情况。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal/wireshark 是目前世界使用最广泛的网络报文分析软件之一。

    Wireshark网络分析器的官网是:https://www.wireshark.org/,目前,Wireshark的稳定发行版本为3.2.2

    软件的基本应用

    双击软件的图标,软件运行后,会显示如下的客户端界面。界面主要包含三个区域,从上到下,分别是工具区、捕获过滤器和网卡列表。在网卡列表中双击其中的一个网络设备即可开始捕获网络分组,又或单击选择一个网络设备,然后再点击工具区中的最左侧的蓝色斜三角图标,也可开始捕获网络分组。如果想停止捕获网络分组,再点击工具区上的红色正方形图标即可。
    在这里插入图片描述
    如下为捕获到的结果,结果主要分为三个区域,最上方是请求和响应列表,每一条记录表示一次请求或响应的交互。中间是对选中的“交互”进行解析后的结果。最下方是原始的数据格式。
    在这里插入图片描述

    注意事项

    • 要学会使用Wireshark中的过滤器,毕竟要在大量的网络分组中寻找到自己要找的分组是非常费时费力的。下面介绍几个过滤规则:1、tcp,选出TCP协议的分组;2、http,选出HTTP协议的分组;3、ip.src ==192.168.1.102,选出源地址为192.168.1.102的分组;4、ip.src==47.95.164.112 or ip.dst==47.95.164.112,选出源地址和目标地址均为47.95.164.112的分组;5、tcp.flags.syn==1,选出TCP同步位报文段。
    • 分组列表的面板中显示的信息包括:编号,时间,源地址,目标地址,协议,长度,以及分组信息。 可以看到不同的协议用了不同的颜色显示,当然也可以在视图-->着色规则中修改显示颜色的规则。
    • OSI七层模型分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;TCP/IP五层模型分别为:物理层、数据链路层、网络层、传输层和应用层。
    • 在界面中间显示的是分组详细信息,在其中,可查看分组在每一层协议中对应的字段信息。在分组信息中,每一行内容会分别与TCP/IP网络模型的五层对应:Frame: 物理层的数据帧概况 -->物理层】,Ethernet II: 数据链路层以太网帧头部信息 -->【数据链路层】,Internet Protocol Version 4: 互联网层IP包头部信息–>【网络层】,Transmission Control Protocol: 传输层的数据段头部信息,此处是TCP–>【传输层】,Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议–>【应用层】

    Wireshark的使用用例

    1、查看本机的网络适配器列表

    点击:捕获–>选项,即可打开“捕获接口”界面,如下为本机的网络适配器列表。
    在这里插入图片描述
    展开适配器,可得到其地址,如下所示
    在这里插入图片描述

    记录一次TCP三报文握手过程

    先在命令行窗口中输入ipconfig命令以查看IP地址。如下图所示,本机连接的是WiFi,其IPv4地址为:192.168.8.102。
    在这里插入图片描述
    TCP的连接建立就是一次握手,在TCP的连接建立过程中,也即在一次握手中,客户端(A)和服务器(B)之间交换了三个报文,这三个报文分别是:【A-->B】连接请求报文段(SYN=1,seq=x(x一般为0))、【B-->A】同步确认报文段(SYN=1,ACK=1,seq=y(y也一般为0),ack=x+1)、【A-->B】确认报文段(ACK=1,seq=x+1,ack=y+1)。如下为用三报文握手建立TCP连接的示意图。
    在这里插入图片描述
    以CSDN网站为例,其网址为:https://www.csdn.net/。在Wireshark开始捕获分组后,再在浏览器中输入CSDN的网址,让其转至CSDN首页。Wireshark在这一过程中抓到了许多分组,通过分析这些分组可知,本机的IP地址为:192.169.8.102,CSDN的IP地址为:47.95.164.112。

    如下为在一次握手中,交换的第一个报文,这个报文叫连接请求报文,由于其首部的同步位SYN=1,所以也叫同步报文段。通过这个报文可知,同步位SYN=1,序号seq=0,源IP地址是本机,目的IP地址是CSDN。
    在这里插入图片描述
    如下为在一次握手中,交换的第二个报文,这个报文叫同步确认报文段。通过这个报文可知,同步位SYN=1,确认位ACK=1,序号seq=0,确认号ack=1,源IP地址是CSDN,目的IP地址是本机。
    在这里插入图片描述
    如下为在一次握手中,交换的第三个报文,这个报文叫确认报文段。通过这个报文可知,确认位ACK=1,序号seq=1,确认号ack=1,源IP地址是本机,目的IP地址是CSDN。
    在这里插入图片描述

    参考

    https://blog.csdn.net/budding0828/article/details/86560467?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
    https://www.cnblogs.com/bylijian/p/8565601.html
    https://www.cnblogs.com/Chilam007/p/6973990.html

    展开全文
  • WireShark抓取TCP四次挥手报文实战

    万次阅读 2020-07-03 10:48:42
    TCP四次挥手 四次挥手的流程 挥手的过程可以由任何一方发起,这里以服务器端发起为例说明: 第一次挥手:服务器端发出FIN,用来断开服务器端到客户端的数据传送,进入FIN-WAIT-1状态 第二次挥手:客户端收到服务器...

    TCP四次挥手

    四次挥手的流程

    挥手的过程可以由任何一方发起,这里以服务器端发起为例说明:

    1. 第一次挥手:服务器端发出FIN,用来断开服务器端到客户端的数据传送,进入FIN-WAIT-1状态
    2. 第二次挥手:客户端收到服务器端的FIN后,发送ACK确认报文,进入CLOSE-WAIT状态
    3. 第三次挥手:客户端发出FIN,用来断开客户端到服务器端的数据传送,进入LAST-ACK状态
    4. 第四次挥手:服务器端收到客户端的FIN后,发送ACK确认报文,进入TIME-WAIT状态,服务器端等待2个最长报文段寿命后进入Close状态;客户端收到确认后,立刻进入Close状态。在这里插入图片描述

    为什么需要四次挥手

    三次握手时,服务器同时把ACK和SYN放在一起发送到了客户端那里,节省了一次报文的传送。

    四次挥手时,当收到对方的FIN报文时,仅仅表示对方不再发送数据但是还能接收数据,己方是否现在关闭发送数据通道,需要上层应用来决定,因此,己方ACK和FIN一般都会分开发送。

    为什么客户端最后还要等待2MSL?

    MSL(Maximum Segment Lifetime):报文最大生存时间,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。

    2MSL即两倍的MSL,TCP的TIME_WAIT状态也称为2MSL等待状态,当TCP的一端发起主动关闭,在发出最后一个ACK包后就进入了TIME_WAIT状态,必须在此状态上停留两倍的MSL时间,等待2MSL时间主要目的是怕最后一个ACK包对方没收到,那么对方在超时后将重发第三次握手的FIN包,主动关闭端接到重发的FIN包后可以再发一个ACK应答包。

    WireShark抓取TCP四次挥手报文实战

    可以使用下面的java代码充当服务器端:

    public class SingleThreadServer2 {
    
        public static final int PORT = 8899;
    
        public static void main(String[] args) throws IOException {
    
            ServerSocket serverSocket = new ServerSocket();
    
            serverSocket.bind(new InetSocketAddress(PORT));
    
            System.out.println("server is start at " + PORT);
    
            while (true) {
                try (
                        Socket socket = serverSocket.accept();
                        InputStream inputStream = socket.getInputStream();
                ) {
                    System.out.println("connect success " + socket.getPort());
    
                    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    
                    System.out.println("receive from client: " + reader.readLine());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
    
        }
    }
    

    客户端直接使用telnet,telnet localhost 8899。

    第一次挥手报文如下:

    在这里插入图片描述

    第二次挥手报文如下:
    在这里插入图片描述

    第三次挥手报文如下:

    在这里插入图片描述
    第四次挥手报文如下:

    在这里插入图片描述
    更多精彩内容关注本人公众号:架构师升级之路
    在这里插入图片描述

    展开全文
  • 使用Wireshark抓取HTTP报文

    千次阅读 2019-02-25 19:35:12
    最近在学习计算机网络知识,学习过程中使用抓包工具Wireshark抓取网络数据包,来辅助理解网络协议。 Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包...
  • 做应用识别这一块经常要对应用产生的数据流量进行分析。 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后参考。(脑子记不住东西) ...
  • wireshark 抓取tcp 数据报文

    万次阅读 2017-07-29 11:34:32
    图1:wireshark 抓取tcp 数据报文 0000 34 17 eb a9 73 88 58 69 6c 27 77 16 08 00 45 00 0010 00 34 00 00 40 00 3d 06 56 72 c0 a8 3d df c0 a8 0020 28 22 1f 98 ca 50 a3 e6 0a c4 74 47 e4 f7 80...
  • 最近在学习计算机网络知识,学习过程中使用抓包工具Wireshark抓取网络数据包,来辅助理解网络协议。 Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包...
  • Wireshark抓取TCP三次握手包

    万次阅读 2020-07-03 09:31:41
    下面我们来分析一下TCP三次握手的执行流程,以及为什么需要三次握手? TCP是什么 TCP(Transmission Control Protocol,传输控制协议)是一个面向连接的、可靠的、基于字节流的传输层协议。从它的概念中我们可以看出...
  • 这是计算机网络的一次作业,学习抓取TCP/IP建立连接和断开连接的过程,以下是正文: 步骤: 首先尝试抓百度,腾讯等网络连接,发现会有许多问题需要考虑,断开连接操作不好操作,且数据冗杂不利于学习。 ...
  • 这是计算机网络的一次作业,学习抓取TCP/IP建立连接和断开连接的过程,以下是正文: 步骤: 首先尝试抓百度,腾讯等网络连接,发现会有许多问题需要考虑,断开连接操作不好操作,且数据冗杂不利于学习。 ...
  • Wireshark(前称Ethereal)是一个免费的网络报文分析软件。网络报文分析软件的功能是抓取网络报文,并逐层显示报文中各字段取值。网络报文分析软件有个形象的名字“嗅探工具”,像一只猎狗,忠实地守候在接口旁,...
  • 选中关心的tcp报文中的一个,点击 Analyze-->Follow Tcp Stream 即可。 这个是等同于 tcp.stream eq 42 这样来过滤 参考自 :http://ptlogin2.qq.com/jump?clientuin=2368845947&clientkey=3CB90359BC...
  •  使用wireshark监听daytime客户端连接服务器的数据报,过滤规则:tcp.port eq 13握手过程:数据包编号No.16-No.20。 握手一:数据包No.16,本地IP10.1.1.64端口52528向远程IP132.163.86.4端口13发起连接请求...
  • 一:打开 wireshark 监听本地网卡,由于我连接的是 wifi ,监听无线网络连接。... 设置 ip.addr==14.215.177.38,然后打开百度的首页,回到 wireshark 再次刷新下,就抓取得到数据包。 三:由上图可以看出...
  • tcpdump常用配置指导参考:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html1. 指定端口抓包 -i说明:普通情况下,直接启动tcpdump将监视第一个... 显示报文的以太头 -e下面是抓取和www.baidu.c...
  • wireshark抓取ICMP报文

    万次阅读 多人点赞 2018-06-06 14:56:39
    它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。 ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文...
  • 我目前维护的代码中有一部分是通过CORBA实现RPC的,但是文档很少,为了搞清楚业务流程,只好自己写了wireshark插件来debug。 1. 下载并编译omniORB wireshark提供一个CORBA IDL 自动生成代码的工具idl2wrs,该工具...
  • Wireshark 分析ping报文

    万次阅读 多人点赞 2016-10-30 00:57:47
    wireshark 分析ping报文使用ping命令来获取wwww.baidu.com网站的ICPM报文,其结果如下图:可以看到,我们生成了8个报文(4个请求报文和4个应答报文),下面我们来分析第一个报文,首先,请求报文如下:对于该报文的...
  • Wireshark抓取网络数据包分析与监听

    千次阅读 2020-03-20 10:14:30
    1、前期准备 ... 本文用Wireshark进行抓包处理,Wireshark是非常流行的网络抓包分析软件,功能十分强大。可以截取各种网络分组,显示网络封包的详细信息。另外对于获取到的包,Wireshark只能查...
  • Wireshark-TCP协议分析

    2021-01-09 12:15:34
     面向连接:面向连接意味着使用tcp的应用程序在传输数据前必须先建立连接,就如打电话一样,要先进行拨号,等待对方响应才能开始说话。  可靠性:tcp协议通过下列方式来提高可靠性: 应用数据被分割成TCP认为最...
  • wireshark抓包TCP报文超过1500字节

    千次阅读 2017-11-08 00:45:00
    1)wireshark会针对报文进行预处理,查看到的报文程度实际上是重组之后的结果 2)网卡对包进行重组,需要从网卡设置disable 参考http://packetbomb.com/how-can-the-packet-size-be-greater-than-the-mtu/ 本文转...
  • 在使用ModBus Slave模拟从站的时候,发现Wireshark怎么都抓取不到包,原因是从站主站都在一台pc上,包不经过网卡,所有抓取不到。 用管理员打开cmd,输入route add本机ip mask 255.255.255.255网关ip ...
  • 没有任何一个程序员在做项目的时候不会遇到网络编程的问题,要解决这些问题除了对各种网络协议深入了解之外,还需要掌握各种网络分析工具的用法,不用多说wireshark绝对是这方面的翘楚,可惜的是,wireshark不能对...
  • wireshark抓取的数据包该怎么分析,怎样找到tcp/ip的地址并提取出来?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,961
精华内容 1,584
关键字:

wireshark抓取的tcp报文分析