• Linux抓包


    6. wireshark统计功能


    6.1 包总数

    主界面右下角


    分组即包总数;已显示即过滤后的数量


    6.2 图表

    工具栏——统计——I/O图表


    显示数据包随时间变化结果


    设置显示的内容和方式


    名称:勾选感兴趣项

    过滤器:设置过滤条件,如data contains ""mt":2219"

    样式:线形图、柱状图、点图等

    加号:添加新项目


    例如:显示包含"mt:2219"的数据包随时间变化图,线形图,蓝色




    5. wireshark显示过滤

    显示过滤即对已捕获的数据包进行筛选


    5.1 内容过滤

    格式:tcp|data contains "objstring"

    说明:查找所有包含"objstring"的数据包

    示例:

    tcp contains ""mt":2219"    查找包含"mt":2219的数据包

    data contains "55689_qq_com"    查找包含"55689_qq_com"的数据包


    格式:tcp|data contains xx:xx:xx:xx

    说明:查找含有指定字节片段的数据包

    示例:

    data contains 48:00:00:00:0d:f4:b1:12    查找含有如下字节片段的数据包0x48 0x00 0x00 0x00 0x0d 0xf4 0xb1 0x12


    注意:内容过滤标准格式为tcp contains,因为data contains可能漏掉部分数据包


    5.2 指定字段

    格式:data[idx:len] == hex1:hex2:....:hexn

    说明:要求数据字段从idx开始的len个字节,依次为hex1-hexn,idx从0开始,hex为十六进制值,不带0x前缀,且冒号前后不能有空格

    示例:

    data[33] == 01    数据的第34字节为0x01

    data[0:4] == 48:35:32:31    数据的前四字节为0x48, 0x35, 0x32, 0x31



    4. wireshark捕捉过滤

    地址:ip.addr == xxx

    端口:tcp.port == xx

    传输方向:ip.src == xxx  |  ip.dst == xxx  |  tcp.srcport == xxx  |  tcp.dstport == xxx

    连接词 : and   or 


    显示所有SYN包:tcp.flags.syn == 1

    显示所有FIN包:tcp.flags.fin == 1

    显示所有RST包:tcp.flags.reset == 1

    显示所有窗口大小为0的数据包:tcp.window_size == 0

    显示所有包含SYN但不包含ACK标志的数据包:tcp.flags.syn == 1 and tcp.flags.ack == 0



    3. wireshark显示


    Seq:序列号

    Ack:应答号

    Len:数据长度


    讲解

    Seq:数据包本身的序列号,等于最近一次收到的对方数据包中的Ack

    Ack:期望对方继续发送的那个数据包的序列号。最近一次收到的对方数据包中,如果Len等于0,则该包Ack等于对方包Seq+1如果Len不为0,则该包Ack等于对方包Seq+Len


    图解

    数据传送阶段

    172.9向37.94发送第一个数据包,该包序列号1,应答号为25,长度为24

    37.94向172.9发送第二个数据包,该包序列号25,应答号25,长度0

    连接关闭阶段

    37.94主动提出关闭连接,发送FIN包,该包序列号25,应答号25,长度0

    172.9同意关闭连接,发FIN, ACK包,该包序列号25,应答号26,长度0

    37.94给与最后响应,发ACK包,该包序列号26,应答号26,长度0

    结束


    2. 抓包

    命令:tcpdump 「Options」 'Expression'

    功能:在网络上转储流量

    选项:

    ☆ -i 「Interface」:指定网络接口;若要同时在所有网卡抓包,使用any

    ☆ -w 「File」:将抓包结果保存到文件

    ☆ -c Num」:指定抓包个数,接收Num」个包后,自动退出

    ☆ -C 「Size」:限制结果文件「File」的大小,若超过「Size」,关闭「File」,创建新的文件「FileN」保存输出,N从1开始;单位M。例如:



    ☆ -G 「Secs」:每隔「Secs」创建一个新文件用以保存结果,新的结果文件名由-w 「File」指定。「File」指定的文件名需包含一个由strftime定义的时间格式,例如raw_%M:%S.pcap;如果没有指定时间格式,每个新文件将会覆盖前一个文件


    ☆ -W Num」:指定结果文件的最大个数

    ①与-C 「Size」联用时,当结果文件个数到达Num」,自动从第一个文件开始覆盖,从而形成一个环形缓冲区

    因为覆盖过程,并不会相应地修改文件编号,所以数据包的顺序与文件编号无关,即可能「File」和「File1中包含最后抓到的数据包,「File2」则包含最先抓到的数据包

    与-G 「Secs」联用时,每隔「Secs」秒创建一个新文件,当文件个数到达Num」时,自动关闭tcpdump


    ☆ -Z 「User」:以用户「User」权限运行tcpdump。当以「root」用户运行「tcpdump,且没有指定「-Z」时,「tcpdump」默认以用户「tcpdump」的身份运行。用户「tcpdump」为安装「tcpdump」时,自动添加。

    注意:当出现tcpdump: xx.pcap: Permission denied错误时,添加-Z root选项,以用户root身份执行即可


    表达式:指定过滤条件,如地址和端口等。例如抓目的端口为41111的tcp数据包:

    tcpdump 'tcp dst port 41111'

    说明:抓包不是截获,往来数据收发正常,tcpdump仅复制不私扣;初步观测,tcpdump属轻量级进程,对资源占用微乎其微


    示例:

    数据量很大的场景下,防止抓包过多耗尽磁盘的方式

    ◇ 限制时间


    -G 5指定每5秒一个文件,-W 3指定文件数的上限为3

    结果


    ◇ 限制包个数


    「-c 1000」指定抓包的个数为1000

    结果



    ◇ 限制文件大小


    「-C 10」指定结果文件的大小上限为「10M」,「-W 3」指定文件数的上限为「3」

    结果



    其它:


    若未指定抓包数,则一直抓,直至Ctrl+C退出


    退出后自动显示抓包数。



    1. 安装tcpdump

    yum install tcpdump

  • 相关阅读:
    C#使用Json
    JQuery AJAX介绍
    封装一个自己的 Ajax小框架
    AJAX跨域实现
    AJAX 一些常用方法
    完整的 AJAX 写法(支持多浏览器)
    AJAX 简单上手
    利用反射生成SQL语句
    访问Access数据库(有多个数据库时 体现多态)
    DataTable操作(建表,建行,建列,添加数据)
  • 原文地址:https://www.cnblogs.com/chaikefusibushiji/p/6775741.html
Copyright © 2020-2023  润新知