精华内容
下载资源
问答
  • WireShark的主要功能之一就是对网络中发生的故障进行故障排除。我们在接下来的部分会对如何使用WireShark来分析网络中常见的故障和威胁 本文将由网络使用中的第一个常见问题"网络为什么变慢了"开始,围绕以下几点展开...

    5.WireShark中的时间显示

    WireShark的主要功能之一就是对网络中发生的故障进行故障排除。我们在接下来的部分会对如何使用WireShark来分析网络中常见的故障和威胁

    本文将由网络使用中的第一个常见问题"网络为什么变慢了"开始,围绕以下几点展开:

    • 建立一个访问远程服务器的仿真网络,
    • 在WireShark中观察远程访问的过程
    • WireShark中的时间显示
    • 各位置延迟时间的计算

    5.1 建立HTTP服务器的仿真网络

    为了让能够更好的了解整个网络的状况,我们首先来构建一个模拟的仿真网络,在这个网络中存在着客户端、服务器以及连接它们的各种设备。构建完成的仿真网络如下图所示:
    1

    5.2 在WireShark中观察远程访问的过程

    2

    5.3 WireShark中的时间显示设置

    3

    添加新的一列:
    4

    5

    类型选择Custom代表自定义类型,字段为tcp的时间
    6

    protocols——tcp,进行协议设置,打开时间戳的计算
    7

    这一列就是我们刚刚添加的列,表示tcp的相对时间
    8

    5.4 各位置延迟时间的计算

    其中这5个包是相对重要的,三次握手的包与http的包

    9

    • 第一行为发出数据包的时间:0.00000
    • 第二行中的tcp时间,代表tcp包过去,在服务器处理,再回来花费的时间,由于操作系统处理较快,意义忽略,因此可以看做在线路上花费的时间,如果这个时间较长,可以推测是服务端与客户端之间的设备造成的。
    • 第四行:http包为客户端应用程序产生的,这个包中的tcp.time一般可以认为是客户端应用程序花费的时间
    • 第五行的数据包,是服务端应用程序发送的,tcp.time指线路上花费的时间加上服务端应用程序话费的时间,如果要计算服务器端应用程序花费的时间需要减去第二行的tcp.time
    展开全文
  • fidder主要是针对http(s)协议进行抓包分析,所以类似wireshark/tcpdump这种工作在tcp/ip层上抓包工具不太一样,这种工具一般在chrome/firefox开发者工具下都有集成。 安装wireshare会推荐安装winpcap,...

    fidder主要是针对http(s)协议进行抓包分析的,所以类似wireshark/tcpdump这种工作在tcp/ip层上的抓包工具不太一样,这种工具一般在chrome/firefox的开发者工具下都有集成。

    安装wireshare会推荐安装winpcap,winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力.

    Wireshark介绍

    wireshark的官方下载网站: http://www.wireshark.org/

    wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

    wireshark是开源软件,可以放心使用。
    可以运行在Windows和Mac OS上。

    使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

    Wireshark不能做的

    为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

    Wireshark VS Fiddler

    Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。

    wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容

    总结,如果是处理HTTP,HTTPS 还是用Fiddler,  其他协议比如TCP,UDP 就用wireshark

    同类的其他工具

    微软的network monitor

    sniffer

    什么人会用到wireshark

    1. 网络管理员会使用wireshark来检查网络问题

    2. 软件测试工程师使用wireshark抓包,来分析自己测试的软件

    3. 从事socket编程的工程师会用wireshark来调试

    4. 听说,华为,中兴的大部分工程师都会用到wireshark。

    总之跟网络相关的东西,都可能会用到wireshark.

    sniffer:

    1.安装sniffer后,运行时,找不到网卡,(sniffer在win 7下找不到网卡)
    解决方法:点击开始—找到sniffer的快捷方式—右键属性—把兼容模式改为“windows xp sp3”—确定—再次运行,就可以找到网卡了。。。

    2.运行sniffer时,里面的仪表盘不动,并且顶部提示“channels A and B link faults”点击“开始抓包“时,电脑蓝屏重启…
    解决方法:出现这种问题的原因是你的sniffer版本低,识别不了自己的千兆网卡,把自己的sniffer升级到SNIFFER PORTABLE V4.7.5 SP5再运行,一切就OK,
    3.sniffer可以用了,过一段时间就出现一个窗口,提示“脚本错误“,
    解决方法:这是因为电脑里面的Java的原因,安装完Java后,就可以了,如果安装完Java,还是有提示窗口,那就不用理他,对抓包没有什么影响。

    安装后点击运行就蓝屏。

    这种情况是本本或者台式机是千兆网卡~ 千兆网卡必须得用Sniffer的SP5版本才可以~ 只有SP5版本支持千兆网卡!下载SnifferPro_V4.7.5 SP5,

    wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

    点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击“Start”按钮, 开始抓包


    窗口:


    WireShark 主要分为这几个界面

    1. Display Filter(显示过滤器),  用于过滤

    2. Packet List Pane(封包列表),
    显示捕获到的封包,
    有源地址和目标地址,端口号。
    颜色不同,代表

    3. Packet Details Pane(封包详细信息), 显示封包中的字段

    4. Dissector Pane(16进制数据)

    5. Miscellanous(地址栏,杂项)

    Wireshark 显示过滤


    使用过滤是非常重要的,
    初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

    过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

    过滤器有两种,

    一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录

    一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。
    在Capture -> Capture Filters 中设置。

    过滤表达式的规则

    表达式规则

     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. 逻辑运算符为&& ||

    常用的过滤表达式

    过滤表达式

    用途

    http

    只查看HTTP协议的记录

    ip.src ==192.168.1.102 || ip.dst==192.168.1.102

     源地址或者目标地址是192.168.1.102

     

     

     

     

    搜索比较操作符
    ————————————————————–

    http模式过滤:
    http.request.method == (“GET” / “POST”)
    http.request.uri == ” *** ”

     http.request.full_uri
    http contains  ” ** ”


    另外还有一些操作符只能使用类英语简写,不能使用类c语言简写。
    contains 判断一个协议,字段或者分片包含一个值
    matches             判断一个协议或者字符串匹配一个给定的Perl表达式

    “contains”操作符允许一个过滤器搜索一串字符,其形式为字符串,或者字节,或者字节组。例如在搜索一个HTTP URL地址,可以使用下面的过滤器:
    http contains “http://www.wireshark.org”
    “contains”操作符不能被用于原子型的字段,比如数字和ip地址。

    “matches “操作符允许一个过滤器使用与Perl兼容的正则表达式(PCRE)。“matches” 操作符只能应用于协议或者字符串类型的协议字段。例如:搜索一个给定的wAP WSP User-Agent,你可以这样写过滤器:
    wsp.user_agent matches “(?i)cldc”

    封包列表(Packet List Pane)

    封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。
    你可以看到不同的协议用了不同的颜色显示。

    封包详细信息 (Packet Details Pane)

    这个面板是我们最重要的,用来查看协议中的每一个字段。

    各行信息分别为

    Frame:   物理层的数据帧概况

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

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

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

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

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


    实例分析TCP三次握手过程

    看到这,
    基本上对wireshak有了初步了解,
    现在我们看一个TCP三次握手的实例

     三次握手过程为


    这图我都看过很多遍了,
    这次我们用wireshark实际分析下三次握手的过程。

    打开wireshark, 打开浏览器输入 http://www.cnblogs.com/tankxiao

    在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, 如下图:


    第三次握手的数据包

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

    参考了:http://www.cnblogs.com/tankxiao/archive/2012/10/10/2711777.html

     (上图中的stream index是什么?

    the stream index is an internal Wireshark mapping to: [IP address A, TCP port A, IP address B, TCP port B]

    All the packets for the same tcp.stream value should have the same values for these fields (though the src/dest will be switched for A->B and B->A packets)

    see the Statistics/Conversations/TCP tab in Wireshark to show a summary of these streams

    http://stackoverflow.com/questions/6076897/follow-tcp-stream-where-does-field-stream-index-come-from

    Statistics/Conversations/TCP
    Statistics/Conversations/endpoints/tcp
    可以看到这些索引号对应的数据流

    )

    “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”将会保存为二进制文件

    参考:http://blog.itpub.net/14766028/viewspace-705060

    更多:http://openmaniak.com/cn/wireshark_use.php

     wireshark抓包之前设置:


    Interface:指定在哪个接口(网卡)上抓包(系统会自动选择一块网卡)。

    Limit each packet:限制每个包的大小,缺省情况不限制。

    Capture packets in promiscuous mode:是否打开混杂模式。如果打开,抓   取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。

    Filter:过滤器。只抓取满足过滤规则的包。

    File:可输入文件名称将抓到的包写到指定的文件中。

    Use ring buffer: 是否使用循环缓冲。缺省情况下不使用,即一直抓包。循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。

    Update list of packets in real time:如果复选框被选中,可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。

    单击”OK”按钮开始抓包,系统显示出接收的不同数据包的统计信息,单击”Stop”按钮停止抓包后,所抓包的分析结果显示在面板中,如下图所示:

    验证网络字节序

    网络上的数据流是字节流,对于一个多字节数值(比如十进制1014 = 0x03 f6),在进行网络传输的时候,先传递哪个字节,即先传递高位”03″还是先传递低位”f6″。 也就是说,当接收端收到第一个字节的时候,它是将这个字节作为高位还是低位来处理。
    下面通过截图具体说明:


    最下面是物理媒体上传输的字节流的最终形式,都是16进制表示,发送时按顺序先发送00 23 54 c3 …00 03 f6 …接收时也按此顺序接收字节。

    选中total length:1014, 它的十六进制表示是0x03f6, 从下面的蓝色选中区域可以看到,03在前面,f6在后面,即高字节数据在低地址,低字节数据在高地址(图中地址从上到下从左到右依次递增),所以可知,网络字节序采用的是大端模式。

     wireshark过滤器

    过滤器的区别
    捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。
    显示过滤器(DisplayFilters):在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。
    那么我应该使用哪一种过滤器呢?

    两种过滤器的目的是不同的。
    捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。
    显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。

    两种过滤器使用的语法是完全不同的。

    捕捉过滤器


    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的封包。
    ether host e0-05-c5-44-b1-3c //捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包。如果你想抓本机与所有外网通讯的数据包时,可以将这里的mac地址换成路由的mac地址即可。
    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内的所有封包。
    src net 192.168.0.0/24
    src net 192.168.0.0 mask 255.255.255.0  //捕捉源地址为192.168.0.0网络内的所有封包。

    注意事项:

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

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

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

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

    String1, String2 (可选项):

    协议的子类。
    点击相关父类旁的“+”号,然后选择其子类。

    Comparison operators (比较运算符):
    可以使用6种比较运算符:


    Logical expressions(逻辑运算符):


    显示过滤器


    例子:
    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 == 0×02  //显示包含TCP SYN标志的封包。
    如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。
    更为详细的说明请见:http://openmaniak.com/cn/wireshark_filters.php

    以上只是抓包和简单的过滤,那么其实如果你要想达到能够分析这些网络包的要求时,还需要了解下一些数据包的标记,比如我们常说的TCP三次握手是怎么回事?

    三次握手Three-way Handshake
    一个虚拟连接的建立是通过三次握手来实现的
    1. (Client) –> [SYN] –> (Server)
    假如Client和Server通讯. 当Client要和Server通信时,Client首先向Server发一个SYN (Synchronize) 标记的包,告诉Server请求建立连接.
    注意: 一个 SYN包就是仅SYN标记设为1的TCP包(参见TCP包头Resources). 认识到这点很重要,只有当Server收到Client发来的SYN包,才可建立连接,除此之外别无他法。因此,如果你的防火墙丢弃所有的发往外网接口的SYN包,那么你将不
    能让外部任何主机主动建立连接。

    2. (Client) <– [SYN/ACK] <–(Server)
    接着,Server收到来自Client发来的SYN包后,会发一个对SYN包的确认包(SYN/ACK)给Client,表示对第一个SYN包的确认,并继续握手操作.
    注意: SYN/ACK包是仅SYN 和 ACK 标记为1的包.

    3. (Client) –> [ACK] –> (Server)
    Client收到来自Server的SYN/ACK 包,Client会再向Server发一个确认包(ACK),通知Server连接已建立。至此,三次握手完成,一个TCP连接完成。
    Note: ACK包就是仅ACK 标记设为1的TCP包. 需要注意的是当三此握手完成、连接建立以后,TCP连接的每个包都会设置ACK位。

    这就是为何连接跟踪很重要的原因了. 没有连接跟踪,防火墙将无法判断收到的ACK包是否属于一个已经建立的连接.一般的包过滤(Ipchains)收到ACK包时,会让它通过(这绝对不是个
    好主意). 而当状态型防火墙收到此种包时,它会先在连接表中查找是否属于哪个已建连接,否则丢弃该包。

    四次握手Four-way Handshake
    四次握手用来关闭已建立的TCP连接

    1. (Client) –> ACK/FIN –> (Server)
    2. (Client) <– ACK <– (Server)
    3. (Client) <– ACK/FIN <– (Server)
    4. (Client) –> ACK –> (Server)

    注意: 由于TCP连接是双向连接, 因此关闭连接需要在两个方向上做。ACK/FIN 包(ACK 和FIN 标记设为1)通常被认为是FIN(终结)包.然而, 由于连接还没有关闭, FIN包总是打上ACK标记. 没有ACK标记而仅有FIN标记的包不是合法的包,并且通常被认为是恶意的。

    连接复位Resetting a connection

    四次握手不是关闭TCP连接的唯一方法. 有时,如果主机需要尽快关闭连接(或连接超时,端口或主机不可达),RST (Reset)包将被发送. 注意在,由于RST包不是TCP连接中的必须部分, 可以只发送RST包(即不带ACK标记). 但在正常的TCP连接中RST包可以带ACK确认标记

    请注意RST包是可以不要收到方确认的?

    无效的TCP标记Invalid TCP Flags

    到目前为止,你已经看到了 SYN, ACK, FIN, 和RST 标记. 另外,还有PSH (Push) 和URG (Urgent)标记.

    最常见的非法组合是SYN/FIN 包. 注意:由于 SYN包是用来初始化连接的, 它不可能和 FIN和RST标记一起出现. 这也是一个恶意攻击.

    由于现在大多数防火墙已知 SYN/FIN 包, 别的一些组合,例如SYN/FIN/PSH, SYN/FIN/RST, SYN/FIN/RST/PSH。很明显,当网络中出现这种包时,很你的网络肯定受到攻击了。

    别的已知的非法包有FIN (无ACK标记)和“NULL”包。如同早先讨论的,由于ACK/FIN包的出现是为了关闭一个TCP连接,那么正常的FIN包总是带有 ACK 标记。“NULL”包就是没有任何TCP标记的包(URG,ACK,PSH,RST,SYN,FIN都为0)。

    到目前为止,正常的网络活动下,TCP协议栈不可能产生带有上面提到的任何一种标记组合的TCP包。当你发现这些不正常的包时,肯定有人对你的网络不怀好意。

    转载于:https://www.cnblogs.com/shixiaomin/p/10862321.html

    展开全文
  • 1. 抓包场景     通常是在...所以通常情况下不可能在服务器上面安装Wireshark抓包分析工具,此时tcpdump是网络抓包分析最好,之后使用FileZilla工具(当然也可以其他)将服务器上面抓包文件(xxx.cap)拷...

    1. 抓包场景

         通常是在Windows系统的PC上面进行项目开发,然后使用类UNIX系统的环境进行(Cmake/Makefile管理)统一编译,之后将编译成果物(可执行程序)拷贝到服务器上面跑。所以通常情况下不可能在服务器上面安装Wireshark抓包分析工具,此时tcpdump是网络抓包分析的最好,之后使用FileZilla工具(当然也可以其他)将服务器上面的抓包文件(xxx.cap)拷贝到本地PC上面,使用Wireshark工具进行网络分析。

    v2-b8cb99302915216e514140b353dcb4f9_b.jpg

         在分析APR包之前,你应该对ARP的功能、首部结构图等等有所了解,这样有助于你更好的去理解与分析ARP包,TCP/IP之ARP(地址解析协议)在这上面可以帮助你。

    2. 显示过滤ARP包

         使用Wireshark打开抓包文件,如下图所示。 红色线框位置为Wireshark的显示过滤窗口,根据需要输入过滤包的筛选条件。

    v2-68801024870049653b85230661d624e3_b.jpg


         该位置是支持“筛选过滤条件命令”自动提示与补齐的,如:输入"arp."的时候,会提示所有与arp相关的筛选条件。因此,在这一点上帮我们省去了大量功夫,而不必去硬背这么多的条件。当然,在使用这些命令时候,需要知道其功能。Display Filter Reference: ARP 里面举例了部分筛选条件的功能说明,但不是全部。对于你手里的Wireshark工具所能够支持的所有过滤条件会在3节进行说明。

    2.1 筛选指定目标协议的ARP包

         命令“arp.dst.proto_ipv4”是指筛选出ARP包中目标IP地址(协议)为指定的所有满足条件的数据包。比如筛选出目的协议地址是10.14.96.30的所有ARP数据包。

    v2-8692e43bd902c66b91f309dadc56fec7_b.jpg

    2.2 筛选是ARP请求的包

         命令“arp.opcode”是指筛选ARP包是指定请求操作的所有满足条件的数据包。如ARP请求包、ARP响应包等等。

    v2-5ee23d74716d368bd1b0a611af47fc91_b.jpg

    2.3 筛选指定源MAC的ARP包

         命令“arp.src.hw_mac”是指筛选出满足指定源MAC地址的所有ARP包。如指定筛选“arp.src.hw_mac eq 54:e1:ad:cd:b1:a8”的ARP包。

    v2-46b0cd4d54d57a6df3cdfcc7ba562d52_b.jpg

    3. ARP显示过滤条件列表

         想知道当前PC上Wireshark所支持的各协议的全部筛选命令,以及其对应的功能说明,可以使用以下方式帮你。

         1. 左击“表达式…”,在弹出的窗口中选择待分析的协议。

    v2-4be94efc38790a716711520b85854384_b.jpg


         然后该协议列表下有其所能够支持的一切筛选过滤条件。其中每一个命令的后面是其功能解析。如下图所示。

    v2-7dffc1a9802fd4067d9470bb34229008_b.jpg

    此文来自个人博客 · 【此处不归牛顿管】

    展开全文
  • wireshark过滤使用

    2020-01-15 21:28:49
    wireshark是当今世界使用最为广泛网络封包分析软件之一,其以免费且强大的功能著称。例如其强大过滤器引擎,可以是使用者在繁杂数据中快速找到自己需要数据。但是,其强大的功能下是复杂操作。在此,将...

    wireshark是当今世界使用最为广泛的网络封包分析软件之一,其以免费且强大的功能著称。例如其强大的过滤器引擎,可以是使用者在繁杂的数据中快速找到自己需要的数据。但是,其强大的功能下是复杂的操作。在此,将一些简单的过滤语句总结如下。
    主要为五种类型:1.ip过滤:比如:ip.src addr==192.168.0.208 or ip.src addr eq 192.168.0.208 显示来源IP

    ip.dst addr==192.168.0.208 or ip.dst addr eq 192.168.0.208 显示目标IP
    2.端口过滤 :

       比如:tcp.port eq 80 // 不管端口是来源的还是目标的都显示
    
        tcp.port == 80
    
        tcp.port eq 2722
    
        tcp.port eq 80 or udp.port eq 80
    
        tcp.dstport == 80 // 只显tcp协议的目标端口80
    
        tcp.srcport == 80 // 只显tcp协议的来源端口80
        过滤端口范围tcp.port >= 1 and tcp.port <= 80
    

    3.协议过滤
    udp,arp,icmp,http,smtp,sl包,如!ssl 或者 not ssl
    4.包长度过滤
    比如:

    udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和

    tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身

    ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后

    frame.len == 119 整个数据包长度,从eth开始到最后
    5.http模式过滤
    例子:

    http.request.method == “GET”

    http.request.method == “POST”

    http.request.uri == “/img/logo-edu.gif”

    http contains “GET”

    http contains “HTTP/1.”

    主要语法为;
    d 0-9的数字

    \D \d的补集(以所以字符为全集,下同),即所有非数字的字符

    \w 单词字符,指大小写字母、0-9的数字、下划线

    \W \w的补集

    \s 空白字符,包括换行符\n、回车符\r、制表符\t、垂直制表符\v、换页符\f

    \S \s的补集

    . 除换行符\n外的任意字符。 在Perl中,“.”可以匹配新行符的模式被称作“单行模式”

    .* 匹配任意文本,不包括回车(\n)? 。 而,[0x00-0xff]* 匹配任意文本,包括\n

    […] 匹配[]内所列出的所有字符

    [^…] 匹配非[]内所列出的字符

    2、定位字符 所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。
    ^ 表示其后的字符必须位于字符串的开始处

    $ 表示其前面的字符必须位于字符串的结束处

    \b 匹配一个单词的边界

    \B 匹配一个非单词的边界

    3、重复描述字符
    {n} 匹配前面的字符n次

    {n,} 匹配前面的字符n次或多于n次

    {n,m} 匹配前面的字符n到m次

    ? 匹配前面的字符0或1次

    •      匹配前面的字符1次或多于1次
      
    •      匹配前面的字符0次或式于0次
      

    4、and or 匹配
    and 符号 并

    or 符号 或

    例如:

    tcp and tcp.port==80

    tcp or udp

    来源:https://www.jianshu.com/p/9233eebfcd6b
    具体操作结果:
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    展开全文
  • 本编博客通过WinPcap+Wireshark进行无线网络抓包,获取基本信息,进而模拟其他用户app请求。本编博客主要学习交流,其次告诉广大网友切勿贪小便宜使用未知WiFi。读者们首先需要下载并安装WinPcap和Wireshark,安装...
  • wireshark的工具的使用

    2014-09-17 10:35:51
    之前博文有更新过安装及简单的配置,我依然使用backtrack的版本,不是最新版,但是主要的功能都没有什么变化,这里分享一些工具的使用,然后配合更多的联系,应该可以熟练掌握这个工具的主要功能了,包括找到数据包...
  • wireshark入门

    千次阅读 2019-07-31 15:28:34
    1.简介 Wireshark(前称Ethereal)是一个免费开源网络数据包分析软件。...wireshark界面主要分为过滤器、包列表(不同颜色代表不同协议包)、包详细信息、16进制数据和地址栏等,他们位置如图所...
  • 使用wireshark在远程linux系统抓包简介 由于在做分布式HLR时,需要一边测试,一边抓取信令消息,而现在分布式HLR系统都是采用linux,抓包可以使用tcpdump工具,不过感觉不是很方便。正好,之前测试同事,已经实现了...
  • wireshark入门教程

    千次阅读 多人点赞 2020-05-17 20:17:09
    1.功能 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中内容,总结,如果是处理HTTP,...WireShark 主要分为这几个界面 Display Filter(显示过滤器), 用于过滤 Packet List
  • wireshark源码

    热门讨论 2012-06-10 21:43:51
    看源代码的主要兴趣点是它的分析模块(dissect)。分析之后他的数据存在哪儿,怎么打印的(-V参数)。我想把分析后的数据,提取出来,存在自己定义的数据结构里面,或者按我自己的格式写入文本中。 看了几天,对一些...
  • wireshark插件开发

    2010-03-29 13:01:12
    本人开发的wireshark插件,功能是 实现对数据包按流分类,并统计数据流各种主要特征
  • 利用wireshark分析了qqoicq,不用完全分析出包内容,主要是搞清楚登录时交互过程,然后申请了一个全新qq号,关闭了所有无用的功能,也没有添加好友 一登录出现了这么多oicq包 ![图片说明]...
  • Wireshark使用总结

    2016-07-21 10:50:57
    网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 报文协议解析,分析数据利器Wireshark! 工作中使用Wireshark,...
  • 自从Wireshark 2.5以来,已经进行了许多用户界面改进,而Wireshark 2.6似乎是支持传统GTK+图形用户界面最后一个版本,正如开发团队宣布它在下一个Wireshark 3.0主要系列中不会得到支持,Wireshark 2.6功能包括...
  • 6.wireshark

    2020-09-22 14:25:09
    网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。 软件功能 分析网络底层协议 解决网络故障问题 寻找网络安全问题 相关工具 Sniffer Omnipeek Fiddler Httpwatch 科来网络分析系统 ...
  • 本编博客通过WinPcap+Wireshark进行无线网络抓包,获取基本信息,进而模拟其他用户app请求。 本编博客主要学习交流,其次告诉广大网友切勿贪小便宜使用未知WiFi。 读者们首先需要下载并安装WinPcap和Wireshark,...
  • 网络封包分析软件的功能是抓取网络封包,并尽可能显示出最为详细网络封包内容。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 (2) Wireshark界面布局。Wireshark界面主要分为三部分,区域一显示...
  • Wireshark抓包实验

    2020-12-24 22:51:58
    Wireshark的基本使用 选择对哪块网卡进行数据包捕获 开始/停止捕获 了解 Wireshark 主要窗口区域 设置数据包的过滤 跟踪数据流 Wireshark简介: Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析...
  • 统计菜单主要有以下内容,本次分享内容较多,请耐心阅读:wireshark统计功能1.1 抓包数据概述,点开可以看到抓包文件基本信息,包括抓包文件保存目录、抓包开始-结束时间、抓包主机硬件属性、以及...
  • 1.Wireshark介绍: wireshark是一个非常流行网络封包分析软件,功能十分强大。...Wireshark界面主要分为三部分:区域一显示抓取报文,区域二显示选中报文包头详细信息,区域三显示选中报文详细信息,默认以...
  • wireshark操作使用手册

    2019-10-24 11:30:53
    主要功能是截取网络数据包,并尽可能显示出最为详细网络数据包数据,相对于命令行tcpdump而言,wireshark软件人机界面交互更友好,功能更强大。。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 ...
  • wireshark2.6.6.rar

    2019-10-25 15:15:40
    wireshark支持上百种协议和媒体类型,从而更加准确报告出协议内容和Tcp会话方式,软件主要作用是尝试捕获网络包, 并尝试显示包尽可能详细情况,如果用户想要更明显看出一个网络中数据变化情况,甚至可以...
  • 本次介绍wireshark工具栏分析(Analyze)功能,分析功能主要是针对抓包数据进行过滤、合并追踪和专家信息统计,协助工程师快速判断和定位问题,功能如下:wireshark分析界面1.1 显示过滤规则。过滤规则在之前Edit...
  • 本次介绍wireshark工具栏分析(Analyze)功能,分析功能主要是针对抓包数据进行过滤、合并追踪和专家信息统计,协助工程师快速判断和定位问题,功能如下:wireshark分析界面1.1 显示过滤规则。过滤规则在之前Edit...
  • wireshark抓包详解

    2017-03-29 21:28:00
    使用wireshark的人必须了解网络协议。 wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡(路由器抓多个LAN口包时需进行端口镜像)简单介绍:WireShark 主要分为这几个...
  • 通过Wireshark、Charles、Burpsuite等工具分析网络流量过程,又叫做抓包。 为何需要抓包 测试手机应用(如搜狗号码通、搜狗手机浏览器)的功能时,经常遇到与网络交互场景,这时候我们往往需要通过分析客户端...
  • wireshark 的filter工具是非常强大的,原来一直简单的定义一些ip源,目的地址。昨天琨琨找我要个抓包工具,要过滤具体的数据包... wireshark的过滤器可以分为在抓包过程中过滤和显示过滤两种主要功能  比值运算
  • Wireshark工具介绍

    千次阅读 2019-05-30 10:49:47
    概述智能手机开机画面一般是由一帧静态图片或者一组静态图片组成。...该功能主要由两个bin服务实现Counter服务是属于系统bin服务,位置在/system/bin/counter,拥有系统权限,可以读写系统file,实...
  • 主要是记录写使用方面东西 安装:1、yum install wireshark。注意这样并无法使用wireshark命令和图形界面。但提供了抓包基本功能。2、yum install wireshark-gnome。这样就可以方便使用了。 如果能登录图形界面...
  • wireshark学习——3.图形显示

    千次阅读 2018-08-10 19:50:32
    我们之前讲解的各种实用的表格虽然能够有效辅助我们的分析,但是如果想要更好的了解我们所分析的网络情况,则需要依靠Wireshark的图形功能来直观地展示出来。而我们这次课主要讲解Wireshark常用的一些图形界面。 ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 149
精华内容 59
关键字:

wireshark的主要功能