精华内容
下载资源
问答
  • 【经典】Wireshark详细使用教程,最为详细的一教程
  • Wireshark详细图文教程

    2017-04-27 23:11:47
    Wireshark详细图文教程
  • Wireshark使用教程

    2017-08-14 22:16:50
    Wireshark使用教程,很全很详细,适合新手
  • wireshark使用抓包详细图文教程

    万次阅读 多人点赞 2017-12-08 17:32:15
    封包详细信息 Packet Details Pane wireshark与对应的OSI七层模型 TCP包的具体内容 实例分析TCP三次握手过程 第一次握手数据包 第二次握手的数据包 就这样通过了TCP三次握手建立了连接第三次握手的数据包wir


    wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

    为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark.

    wireshark 开始抓包

    这里写图片描述

    wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
    点击Caputre->Interfaces… 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包
    这里写图片描述

    ###Wireshark 窗口介绍

    这里写图片描述

    WireShark 主要分为这几个界面

    1. Display Filter(显示过滤器), 用于过滤
    2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表
    3. Packet Details Pane(封包详细信息), 显示封包中的字段
    4. Dissector Pane(16进制数据)
    5. Miscellanous(地址栏,杂项)

    Wireshark 显示过滤

    这里写图片描述

    使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。
    过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
    过滤器有两种,
    一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录
    一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置

    保存过滤

    在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter hls",

    ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/7889cc1333ae5fe8bfc48d9363ac2c32.png)
    Filter栏上就多了个"Filter hls" 的按钮。 ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/8f95d035ce2f767793ea598f38c7b3a0.png) ##过滤表达式的规则 表达式规则 1. 协议过滤 比如TCP,只显示TCP协议。 2. IP 过滤 比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102, ip.dst==192.168.1.102, 目标地址为192.168.1.102 3. 端口过滤 tcp.port ==80, 端口为80的 tcp.srcport == 80, 只显示TCP协议的愿端口为80的。 4. Http模式过滤 http.request.method=="GET", 只显示HTTP GET方法的。 5. 逻辑运算符为 AND/ OR ## 封包列表(Packet List Pane) 封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。 你也可以修改这些显示颜色的规则, View ->Coloring Rules. ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/01473271711f6e6e356b67046bddb0ae.png)

    ##封包详细信息 (Packet Details Pane)
    这个面板是我们最重要的,用来查看协议中的每一个字段。
    各行信息分别为
    Frame: 物理层的数据帧概况
    Ethernet II: 数据链路层以太网帧头部信息
    Internet Protocol Version 4: 互联网层IP包头部信息
    Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
    Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议
    这里写图片描述

    wireshark与对应的OSI七层模型

    这里写图片描述

    TCP包的具体内容

    从下图可以看到wireshark捕获到的TCP包中的每个字段。
    这里写图片描述

    实例分析TCP三次握手过程

    看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例
    三次握手过程为
    这里写图片描述

    在wireshark中输入http过滤, 然后选中GET /zijian.hls.video.qq.com的那条记录,右键然后点击"Follow TCP Stream",
    这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图
    这里写图片描述

    图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。
    ###第一次握手数据包
    客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图
    这里写图片描述

    ###第二次握手的数据包
    服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图
    这里写图片描述
    ###第三次握手的数据包
    客户端再次发送确认包把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, SYN标志位为1,ACK标志位为1. 如下图:
    这里写图片描述

    就这样通过了TCP三次握手,建立了连接


    Guys,内推啦,欢迎发简历给我
    https://blog.csdn.net/ch853199769/article/details/114842209

    展开全文
  • mac下如何使用Wireshark详细教程

    千次阅读 2015-01-12 16:51:00
    今天我就用md760+10.9.5的系统环境来教大家如何在mac平台下使用Wireshark抓包工具。由于官方的系统下是没有安装X11的,而wireshark运行环境必须要有x11,所以如果你的电脑是直接安装wireshark而没有安装x11,...
    本人的mba是10.9.5的系统,由于本人不喜欢苹果的扁平化设计,所以一直没有升到10.10。今天我就用md760+10.9.5的系统环境来教大家如何在mac平台下使用Wireshark抓包工具。由于官方的系统下是没有安装X11的,而wireshark运行环境必须要有x11,所以如果你的电脑是直接安装wireshark而没有安装x11,wireshark是不会正常运行的。
    

    你可以打开程序列表,然后点开其他文件夹,里面有一个X11的标志,点击,将会链接到一个网页,然后下载xQuartz就行了,怎么下载不需要我教你吧~下载完后安装wireshark,会弹出一个选择xQuartz的界面,选择/Application/Utilities目录下的xQuartz程序,点击确定,然后X11会运行,弹出一个xterm窗口,在其中运行/Application/Wireshark.app/Contents/MacOS/Wireshark,就会执行一系列初始化,然后打开wireshark界面。以后再运行wireshark,直接点击图标即可正常运行了~

    哈哈,你们学会了没有?我已经成功装上了~


    展开全文
  • WireShark使用教程

    2011-11-29 16:21:20
    WireShark使用教程,非常详细,有了他,你可以尽情的享受抓包分析带来的乐趣~!
  • wireshark使用教程

    2014-10-07 15:38:15
    详细的入门级wireshark使用教程,是学习通信协议的好助手
  • wireshark的超详细教程,从安装到使用,从入门到精通,总有一款适合你,应有尽有,不容错过。
  • wireshark详细实用教程

    2009-05-29 12:09:31
    wireshark详细使用教程 doc版本,辛苦整理的。有入门,有高级应用
  • Wireshark详细图文教程(1)
  • wireshark教程|wireshark使用教 按file下的按钮 之后会出现 这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击start 开始抓包 这个...

    wireshark教程|wireshark的使用教

    按file下的按钮


    之后会出现

         
           

     

    这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击start 开始抓包

     

     

     

    这个就是抓包的界面了(也是主界面)


     



     

     

    Wireshark主窗口由如下部分组成:

    1. 菜单——用于开始操作。

    2. 主工具栏——提供快速访问菜单中经常用到的项目的功能。

    3. Fiter toolbar/过滤工具栏——提供处理当前显示过滤得方法。

    4. Packet List面板——显示打开文件的每个包的摘要。点击面板中的单独条目,包的其他情况将会显示在另外两个面板中。

    5. Packet detail面板——显示您在Packet list面板中选择的包的更多详情。

    6. Packet bytes面板——显示您在Packet list面板选择的包的数据,以及在Packet details面板高亮显示的字段。

    7. 状态栏——显示当前程序状态以及捕捉数据的更多详情。

       

       

       

       

      1.菜单栏

       

      主菜单包括以下几个项目:

      File ——包括打开、合并捕捉文件,save/保存,Print/打印,Export/导出捕捉文件的全部或部分。以及退出Wireshark项.

       

      Edit ——包括如下项目:查找包,时间参考,标记一个多个包,设置预设参数。(剪切,拷贝,粘贴不能立即执行。)

      View ——控制捕捉数据的显示方式,包括颜色,字体缩放,将包显示在分离的窗口,展开或收缩详情面版的地树状节点

      GO ——包含到指定包的功能。

      Analyze ——包含处理显示过滤,允许或禁止分析协议,配置用户指定解码和追踪TCP流等功能。

      Statistics ——包括的菜单项用户显示多个统计窗口,包括关于捕捉包的摘要,协议层次统计等等。

      Help ——包含一些辅助用户的参考内容。如访问一些基本的帮助文件,支持的协议列表,用户手册。在线访问一些网站,“关于” 2.工具栏(略)

      3.过滤工具栏



      会弹出对话框
                                        这个和在工具栏上输入协议来查找包的结果是一样的,只是它方便点 在工具栏上输
      点击 在此区域输入或修改显示的过滤字符,在输入过程中会进行语法检查。如果您输入的格式不正确,或者未输入完成,则背景显示为红色。直到您输入合法的表达式,背景会变为绿色。你可以点击下拉列表选择您先前键入的过滤字符。列表会一直保留,即使您重新启动程序。
                 4.封包列表

     

    wireshark packet filter pane

    封包列表中显示所有已经捕获的封包。在这里您可以看到发送或接收方的MAC/IP地址,TCP/UDP端口号,协议或者封包的内容。

    如果捕获的是一个OSI layer 2的封包,您在Source(来源)和Destination(目的地)列中看到的将是MAC地址,当然,此时Port(端口)列将会为空。
    如果捕获的是一个OSI layer 3或者更高层的封包,您在Source(来源)和Destination(目的地)列中看到的将是IP地址。Port(端口)列仅会在这个封包属于第4或者更高层时才会显示。

    您可以在这里添加/删除列或者改变各列的颜色:
    Edit menu -> Preferences

    5.封包详细信息





     

    这里显示的是在封包列表中被选中项目的详细信息。
    信息按照不同的OSI layer进行了分组,您可以展开每个项目查看。

    ps:wireshark会用不难,难的是会看懂这些包
    (如果对这些包头信息不了解的可以自己去查查资料)

     

    6. 16进制数据

    “解析器”在Wireshark中也被叫做“16进制数据查看面板”。这里显示的内容与“封包详细信息”中相同,只是改为以16进制的格式表述。

    在这里我们还要学会在大量的信息中过滤分析我们需要的信息

    过滤:

    过滤器会如此重要。它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。

     

    -
    -
    捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。
    显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。


    两种过滤器的目的是不同的。

    1.捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。


    2.显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。

    1.捕捉过滤器


    捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。

    设置捕捉过滤器的步骤是:
    - 选择 capture -> options。
    - 填写"capture filter"栏或者点击"capture filter"按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。
    - 点击开始(Start)进行捕捉。





     

    语法: 
    Protocol
     
    Direction
     
    Host(s)
     
    Value
     
    Logical Operations
     
    Other expression_r
    例子: 
    tcp
     
    dst
     
    10.1.1.1
     
    80
     
    and
     
    tcp dst 10.2.2.2 3128

    Protocol(协议):
    可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
    如果没有特别指明是什么协议,则默认使用所有支持的协议。

    Direction(方向):
    可能的值: src, dst, src and dst, src or dst
    如果没有特别指明来源或目的地,则默认使用 "src or dst" 作为关键字。
    例如,"host 10.2.2.2"与"src or dst host 10.2.2.2"是一样的。

    Host(s):
    可能的值: net, port, host, portrange.
    如果没有指定此值,则默认使用"host"关键字。
    例如,"src 10.1.1.1"与"src host 10.1.1.1"相同。

    Logical Operations(逻辑运算):

    可能的值:not, and, or.
    否("not")具有最高的优先级。或("or")和与("and")具有相同的优先级,运算时从左至右进行。
    例如,
    "not tcp port 3128 and tcp port 23"与"(not tcp port 3128) and tcp port 23"相同。
    "not tcp port 3128 and tcp port 23"与"not (tcp port 3128 and tcp port 23)"不同。

     

     


    例子:

     

    tcp dst port 3128

    显示目的TCP端口为3128的封包。

     

    ip src host 10.1.1.1

    显示来源IP地址为10.1.1.1的封包。

     

    host 10.1.2.3

    显示目的或来源IP地址为10.1.2.3的封包。

     

    src portrange 2000-2500

    显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。

     

    not imcp

    显示除了icmp以外的所有封包。(icmp通常被ping工具使用)

     

    src host 10.7.2.12 and not dst net 10.200.0.0/16

    显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。

     

    (src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8

    显示来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。

     

     


    注意事项:

    当使用关键字作为值时,需使用反斜杠“\”。
    "ether proto \ip" (与关键字"ip"相同).
    这样写将会以IP协议作为目标。

    "ip proto \icmp" (与关键字"icmp"相同).
    这样写将会以ping工具常用的icmp作为目标。

    可以在"ip"或"ether"后面使用"multicast"及"broadcast"关键字。
    当您想排除广播请求时,"no broadcast"就会非常有用。

     

     




    2. 显示过滤器

    通常经过捕捉过滤器过滤后的数据还是很复杂。此时您可以使用显示过滤器进行更加细致的查找。
    它的功能比捕捉过滤器更为强大,而且在您想修改过滤器条件时,并不需要重新捕捉一次。

     

    语法: Protocol.
    String 1
    .
    String 2
     
    Comparison
    operator
     
    Value
     
    Logical
    Operations
     
    Other
    expression_r
    例子:
     
    ftp
     
    passive
     
    ip
     
    ==
     
    10.2.3.4
     
    xor
     
    icmp.type

    Protocol(协议):

    您可以使用大量位于OSI模型第2至7层的协议。点击"Expression..."按钮后,您可以看到它们。
    比如:IP,TCP,DNS,SSH







    String1, String2 (可选项):

    协议的子类。
    点击相关父类旁的"》"号,然后选择其子类。




    Comparison operators (比较运算符):

    可以使用6种比较运算符:

     

    英文写法: C语言写法: 含义:
    eq
    ==
    等于
    ne
    !=
    不等于
    gt
    >
    大于
    lt
    <
    小于
    ge
    >=
    大于等于
    le
    <=
    小于等于

    Logical expression_rs(逻辑运算符):

     

    英文写法: C语言写法: 含义:
    and
    &&
    逻辑与
    or
    ||
    逻辑或
    xor
    ^^
    逻辑异或
    not
    !
    逻辑非

    被程序员们熟知的逻辑异或是一种排除性的或。当其被用在过滤器的两个条件之间时,只有当且仅当其中的一个条件满足时,这样的结果才会被显示在屏幕上。
    让我们举个例子:
    "tcp.dstport 80 xor tcp.dstport 1025"
    只有当目的TCP端口为80或者来源于端口1025(但又不能同时满足这两点)时,这样的封包才会被显示。

     


     


    例子:

     

    snmp || dns || icmp显示SNMP或DNS或ICMP封包。

     

    ip.addr == 10.1.1.1

    显示来源或目的IP地址为10.1.1.1的封包。

     

    ip.src != 10.1.2.3 or ip.dst != 10.4.5.6

    显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。
    换句话说,显示的封包将会为:
    来源IP:除了10.1.2.3以外任意;目的IP:任意
    以及
    来源IP:任意;目的IP:除了10.4.5.6以外任意

     

    ip.src != 10.1.2.3 and ip.dst != 10.4.5.6

    显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。
    换句话说,显示的封包将会为:
    来源IP:除了10.1.2.3以外任意;同时须满足,目的IP:除了10.4.5.6以外任意

     

    tcp.port == 25显示来源或目的TCP端口号为25的封包。

     

    tcp.dstport == 25显示目的TCP端口号为25的封包。

     

    tcp.flags显示包含TCP标志的封包。

     

    tcp.flags.syn == 0x02显示包含TCP SYN标志的封包。

    如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

     

     

    分析:

    "Follow TCP Stream"

    如果你处理TCP协议,想要查看Tcp流中的应用层数据,"Following TCP streams"功能将会很有用。如果你项查看telnet流中的密码,或者你想尝试弄明白一个数据流。或者你仅仅只需要一个显示过滤来显示某个TCP流的包。这些都可以通过Wireshark的"Following TCP streams"功能来实现。

    在包列表中选择一个你感兴趣的TCP包,然后选择Wireshark工具栏菜单的"Following TCP Streams"选项(或者使用包列表鼠标右键的上下文菜单)。然后,Wireshark就会创建合适的显示过滤器,并弹出一个对话框显示TCP流的所有数据。

    "Follow TCP Stream"对话框

     

    流的内容出现的顺序同他们在网络中出现的顺序一致。从A到B的通信标记为红色,从B到A的通信标记为蓝色。当然,如果你喜欢的话你可以从"Edit/Preferences"菜单项的"Colores"修改颜色。

    非打印字符将会被显示为圆点。XXX - What about line wrapping (maximum line length) and CRNL conversions?

    在捕捉过程中,TCP流不能实时更新。想得到最近的内容需要重新打开对话框。

    你可以在此对话框执行如下操作:

    1. Save As 以当前选择格式保存流数据。

    2. Print 以当前选择格式打印流数据。

    3. Direction 选择流的显示方向("Entire conversation", "data from A to B only" or "data from B to A only").

    4. Filter out this stream 应用一个显示过滤,在显示中排除当前选择的TCP流。

    5. Close 关闭当前对话框。移除对当前显示过滤的影响。

    你可以用以下格式浏览流数据。

      1. AsCII。在此视图下你可以以ASCII凡是查看数据。当然最适合基于ASCII的协议用,例如HTTP.

      2. EBCDIC。For the big-iron freaks out there.(不知道这句是什么意思, EBCDIC 是IBM公司的字符二进制编码标准。)

      3. HEX Dump. 允许你查看所有数据,可能会占用大量屏幕空间。适合显示二进制协议。

      4. C Arrays. 允许你将流数据导入你自己的C语言程序。

      5. RAW。 允许你载入原始数据到其他应用程序做进一步分析。显示类似与ASCII设置。但“save As”将会保存为二进制文件

    转载于:https://www.cnblogs.com/Jintaonet/p/11194516.html

    展开全文
  • wireshark使用教程

    2020-12-16 16:22:39
    wireshark抓包新手使用教程   Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程各种问题定位。本文主要内容包括:   1、Wireshark软件下载和...

    wireshark抓包新手使用教程

      Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程各种问题定位。本文主要内容包括:

      1、Wireshark软件下载和安装以及Wireshark主界面介绍。

      2、WireShark简单抓包示例。通过该例子学会怎么抓包以及如何简单查看分析数据包内容。

      3、Wireshark过滤器使用。过滤器包含两种类型,一种是抓包过滤器,就是抓取前设置过滤规则。另外一种是显示过滤器,就是在数据包分析时进行过滤数据使用。通过过滤器可以筛选出想要分析的内容。包括按照协议过滤、端口和主机名过滤、数据包内容过滤。具体规则和实例可以查看正文。

    Wireshark软件安装

      软件下载路径:wireshark官网。按照系统版本选择下载,下载完成后,按照软件提示一路Next安装。

      说明:如果你是Win10系统,安装完成后,选择抓包但是不显示网卡,下载win10pcap兼容性安装包。下载路径:win10pcap兼容性安装包

    Wireshark 开始抓包示例

       先介绍一个使用wireshark工具抓取ping命令操作的示例,让读者可以先上手操作感受一下抓包的具体过程。

      1、打开wireshark 2.6.5,主界面如下:

      2、选择菜单栏上Capture -> Option,勾选WLAN网卡(这里需要根据各自电脑网卡使用情况选择,简单的办法可以看使用的IP对应的网卡)。点击Start。启动抓包。

      3、wireshark启动后,wireshark处于抓包状态中。

      4、执行需要抓包的操作,如在cmd窗口下执行ping www.baidu.com。

      5、操作完成后相关数据包就抓取到了。为避免其他无用的数据包影响分析,可以通过在过滤栏设置过滤条件进行数据包列表过滤,获取结果如下。说明:ip.addr == 119.75.217.26 and icmp 表示只显示ICPM协议且源主机IP或者目的主机IP为119.75.217.26的数据包。说明:协议名称icmp要小写。

      5、wireshark抓包完成,就这么简单。关于wireshark显示过滤条件、抓包过滤条件、以及如何查看数据包中的详细内容在后面介绍。

    Wireshakr抓包界面介绍

      说明:数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏View --> Coloring Rules。如下所示

    WireShark 主要分为这几个界面

      1. Display Filter(显示过滤器),  用于设置过滤条件进行数据包列表过滤。菜单路径:Analyze --> Display Filters。

      2. Packet List Pane(数据包列表), 显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。 不同协议的数据包使用了不同的颜色区分显示。

      3. Packet Details Pane(数据包详细信息), 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为

      (1)Frame:   物理层的数据帧概况

      (2)Ethernet II: 数据链路层以太网帧头部信息

      (3)Internet Protocol Version 4: 互联网层IP包头部信息

      (4)Transmission Control Protocol:  传输层T的数据段头部信息,此处是TCP

      (5)Hypertext Transfer Protocol:  应用层的信息,此处是HTTP协议

    TCP包的具体内容

     从下图可以看到wireshark捕获到的TCP包中的每个字段。

      4. Dissector Pane(数据包字节区)。

    Wireshark过滤器设置

       初学者使用wireshark时,将会得到大量的冗余数据包列表,以至于很难找到自己需要抓取的数据包部分。wireshark工具中自带了两种类型的过滤器,学会使用这两种过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

    (1)抓包过滤器

        捕获过滤器的菜单栏路径为Capture --> Capture Filters。用于在抓取数据包前设置。

     如何使用?可以在抓取数据包前设置如下。

    ip host 60.207.246.216 and icmp表示只捕获主机IP为60.207.246.216的ICMP数据包。获取结果如下:

    (2)显示过滤器

      显示过滤器是用于在抓取数据包后设置过滤条件进行过滤数据包。通常是在抓取数据包时设置条件相对宽泛或者没有设置导致抓取的数据包内容较多时使用显示过滤器设置条件过滤以方便分析。同样上述场景,在捕获时未设置抓包过滤规则直接通过网卡进行抓取所有数据包,如下

    执行ping www.huawei.com获取的数据包列表如下

    观察上述获取的数据包列表,含有大量的无效数据。这时可以通过设置显示器过滤条件进行提取分析信息。ip.addr == 211.162.2.183 and icmp。并进行过滤。

      上述介绍了抓包过滤器和显示过滤器的基本使用方法。在组网不复杂或者流量不大情况下,使用显示器过滤器进行抓包后处理就可以满足我们使用。下面介绍一下两者间的语法以及它们的区别。

    wireshark过滤器表达式的规则

    1、抓包过滤器语法和实例

       抓包过滤器类型Type(host、net、port)、方向Dir(src、dst)、协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)、逻辑运算符(&& 与、|| 或、!非)

    (1)协议过滤

      比较简单,直接在抓包过滤框中直接输入协议名即可。

      tcp,只显示TCP协议的数据包列表

      http,只查看HTTP协议的数据包列表

      icmp,只显示ICMP协议的数据包列表

    (2)IP过滤

      host 192.168.1.104

      src host 192.168.1.104

      dst host 192.168.1.104

    (3)端口过滤

      port 80

      src port 80

      dst port 80

    (4)逻辑运算符&& 与、|| 或、!非

      src host 192.168.1.104 && dst port 80 抓取主机地址为192.168.1.80、目的端口为80的数据包

      host 192.168.1.104 || host 192.168.1.102 抓取主机为192.168.1.104或者192.168.1.102的数据包

      !broadcast 不抓取广播数据包

    2、显示过滤器语法和实例

    (1)比较操作符

      比较操作符有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于。

    (2)协议过滤

      比较简单,直接在Filter框中直接输入协议名即可。注意:协议名称需要输入小写。

      tcp,只显示TCP协议的数据包列表

      http,只查看HTTP协议的数据包列表

      icmp,只显示ICMP协议的数据包列表

    (3) ip过滤

       ip.src ==192.168.1.104 显示源地址为192.168.1.104的数据包列表

       ip.dst==192.168.1.104, 显示目标地址为192.168.1.104的数据包列表

       ip.addr == 192.168.1.104 显示源IP地址或目标IP地址为192.168.1.104的数据包列表

    (4)端口过滤

      tcp.port ==80,  显示源主机或者目的主机端口为80的数据包列表。

      tcp.srcport == 80,  只显示TCP协议的源主机端口为80的数据包列表。

      tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。

    (5) Http模式过滤

      http.request.method=="GET",   只显示HTTP GET方法的。

    (6)逻辑运算符为 and/or/not

      过滤多个条件组合时,使用and/or。比如获取IP地址为192.168.1.104的ICMP数据包表达式为ip.addr == 192.168.1.104 and icmp

     常见用显示过滤需求及其对应表达式
    数据链路层:
    筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26
    筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26
    网络层:
    筛选ip地址为192.168.1.1的数据包----ip.addr == 192.168.1.1
    筛选192.168.1.0网段的数据---- ip contains "192.168.1"
    筛选192.168.1.1和192.168.1.2之间的数据包----ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2
    筛选从192.168.1.1到192.168.1.2的数据包----ip.src == 192.168.1.1 && ip.dst == 192.168.1.2
    传输层:
    筛选tcp协议的数据包----tcp
    筛选除tcp协议以外的数据包----!tcp
    筛选端口为80的数据包----tcp.port == 80
    筛选12345端口和80端口之间的数据包----tcp.port == 12345 && tcp.port == 80
    筛选从12345端口到80端口的数据包----tcp.srcport == 12345 && tcp.dstport == 80
    应用层:
    特别说明----http中http.request表示请求头中的第一行(如GET index.jsp HTTP/1.1),http.response表示响应头中的第一行(如HTTP/1.1 200 OK),其他头部都用http.header_name形式。
    筛选url中包含.php的http数据包----http.request.uri contains ".php"
    筛选内容包含username的http数据包----http contains "username"

    (7)按照数据包内容过滤。假设我要以IMCP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。如下

    右键单击选中后出现如下界面

    选中Select后在过滤器中显示如下

    后面条件表达式就需要自己填写。如下我想过滤出data数据包中包含"abcd"内容的数据流。包含的关键词是contains 后面跟上内容。

    看到这, 基本上对wireshak有了初步了解。

    Wireshark抓包分析TCP三次握手

    (1)TCP三次握手连接建立过程

        Step1:客户端发送一个SYN=1,ACK=0标志的数据包给服务端,请求进行连接,这是第一次握手;

        Step2:服务端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;

       Step3:服务端发送一个SYN=0,ACK=1的数据包给客户端端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。

    (2)wireshark抓包获取访问指定服务端数据包

        Step1:启动wireshark抓包,打开浏览器输入www.huawei.com。

        Step2:使用ping www.huawei.com获取IP。

        Step3:输入过滤条件获取待分析数据包列表 ip.addr == 211.162.2.183

      图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

    第一次握手数据包

    客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图。

    数据包的关键属性如下:

      SYN :标志位,表示请求建立连接

      Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据

      Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据

    第二次握手的数据包

    服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图

     数据包的关键属性如下:

      [SYN + ACK]: 标志位,同意建立连接,并回送SYN+ACK

      Seq = 0 :初始建立值为0,表示当前还没有发送数据

      Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)

    第三次握手的数据包

      客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

    数据包的关键属性如下:

      ACK :标志位,表示已经收到记录

      Seq = 1 :表示当前已经发送1个数据

      Ack = 1 : 表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。

      就这样通过了TCP三次握手,建立了连接。开始进行数据交互

    下面针对数据交互过程的数据包进行一些说明:

    数据包的关键属性说明

      Seq: 1

      Ack: 1: 说明现在共收到1字节数据

      Seq: 1
      Ack: 951: 说明现在服务端共收到951字节数据

      在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG。如下

        其中,对于我们日常的分析有用的就是前面的五个字段。它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有DATA数据传输,RST表示连接重置。

    Wireshark分析常用操作

      调整数据包列表中时间戳显示格式。调整方法为View -->Time Display Format --> Date and Time of Day。调整后格式如下:

    参考文档

    (1)https://www.cnblogs.com/linyfeng/p/9496126.html

    展开全文
  • 实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! 原理步骤1.安装2.wireshark使用3.先看几个数据包,熟悉一下wireshark4.wireshark过滤规则4.1 地址过滤4.2 端口过滤4.4 其他...
  • 关于Wireshark使用教程

    2013-11-13 15:48:50
    Wireshark使用教程.doc Wireshark使用指南.doc 例如: Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有...
  • Wireshark详细图文教程 共87页
  • Wireshark使用教程用户手册,超详细
  • Wireshark使用教程.pdf

    2012-02-28 11:44:50
    Wireshark使用教程 pdf 高清 完整 带目录 详细介绍如何使用Wireshark

空空如也

空空如也

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

wireshark使用详细教程