设置数据抓取选项

点击常用按钮中的设置按钮,就会弹出设置选项对话框。在这个对话框中我们可以选中需要监听的接口,设置混杂模式,设置抓取数据包的过滤条件。如下图:

注:设置了混杂模式,可以捕获局域网中所有的数据包。

Wireshark与对应的OSI七层模型

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

调整时间格式

常用应用显示过滤器:

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.src != 10.1.2.3 and ip.dst != 10.4.5.6                            //显示来源不为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标志的封包。
ip.addr==10.15.8.34 and ip.addr==19.18.16.5 and tcp.port==443         //https二端过程
如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

过滤源ip、目的ip:查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1
协议过滤:直接输入协议名即可,如过滤HTTP的协议
http模式过滤:如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"
连接符and的使用:如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and http                           // ip.src==10.112.21.1 and tcp.port==443 
以上只是抓包和简单的过滤,那么其实如果你要想达到能够分析这些网络包的要求时,还需要了解下一些数据包的标记,比如我们常说的TCP三次握手

三次握手Three-way Handshake
一个虚拟连接的建立是通过三次握手来实现的
1. (Client) –> [SYN] –> (Server)
第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机
2. (Client) <–[SYN/ACK] <(Server)
 第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;
3. (Client)–> [ACK] > (Server)
第三次握手:主机A收到后检查ack number是否正确,(即第一次发送的seq number+1,以及位码ack是否为1)  若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。 至此,三次握手完成,一个TCP连接完成。
Note: ACK包就是仅ACK 标记设为1的TCP包. 需要注意的是当三此握手完成、连接建立以后,TCP连接的每个包都会设置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确认标记

无效的TCP标记Invalid TCP Flags

常见标记符小结:
SYN:同步请求
ACK:确认
FIN:终结(连接关闭)
RST:连接重置
PSH (Push):有 DATA数据传输
URG (Urgent):紧急
Sequence number:顺序号码
Acknowledge number:确认号码

UDP (用户数据包协议User Datagram Protocol)

UDP没有对接受进行确认的标记和确认机制。对丢包的处理是在应用层来完成的。(or accidental arrival).
此处需要重点注意的事情是:在正常情况下,当UDP包到达一个关闭的端口时,会返回一个UDP复位包。由于UDP是非面向连接的, 因此没有任何确认信息来确认包是否正确到达目的地。因此如果你的防火墙丢弃UDP包,它会开放所有的UDP端口(?)。
由于Internet上正常情况下一些包将被丢弃,甚至某些发往已关闭端口(非防火墙的)的UDP包将不会到达目的,它们将返回一个复位UDP包。
因为这个原因,UDP端口扫描总是不精确、不可靠的。
看起来大UDP包的碎片是常见的DOS (Denial of Service)攻击的常见形式

ICMP (网间控制消息协议Internet Control Message Protocol)
如同名字一样, ICMP用来在主机/路由器之间传递控制信息的协议。 ICMP包可以包含诊断信息(ping, traceroute - 注意目前unix系统中的traceroute用UDP包而不是ICMP),错误信息(网络/主机/端口 不可达 network/host/port unreachable), 信息(时间戳timestamp, 地址掩码address mask request, etc.),或控制信息 (source quench, redirect, etc.) 。
尽管ICMP通常是无害的,还是有些类型的ICMP信息需要丢弃。
Redirect (5), Alternate Host Address (6), Router Advertisement (9) 能用来转发通讯。
Echo (8), Timestamp (13) and Address Mask Request (17) 能用来分别判断主机是否起来,本地时间 和地址掩码。注意它们是和返回的信息类别有关的。 它们自己本身是不能被利用的,但它们泄露出的信息对攻击者是有用的。
ICMP消息有时也被用来作为DOS攻击的一部分(例如:洪水ping flood ping,死 ping ?呵呵,有趣 ping of death)?/p>
包碎片注意A Note About Packet Fragmentation
如果一个包的大小超过了TCP的最大段长度MSS (Maximum Segment Size) 或MTU (Maximum Transmission Unit),能够把此包发往目的的唯一方法是把此包分片。由于包分片是正常的,它可以被利用来做恶意的攻击。
因为分片的包的第一个分片包含一个包头,若没有包分片的重组功能,包过滤器不可能检测附加的包分片。典型的攻击Typical attacks involve in overlapping the packet data in which packet header is 典型的攻击Typical attacks involve in overlapping the packet data in which packet header isnormal until is it overwritten with different destination IP (or port) thereby bypassing firewall rules。包分片能作为 DOS 攻击的一部分,它可以crash older IP stacks 或涨死CPU连接能力。

--------------------------------------------------------

数据链路层:
筛选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
IP源地址----ip.src 192.168.1.1
IP目的地址----ip.dst 192.168.1.1

传输层:
筛选tcp协议的数据包----tcp
筛选除tcp协议以外的数据包----!tcp
筛选端口为80的数据包----tcp.port == 80
筛选12345端口和80端口之间的数据包----tcp.port == 12345 && tcp.port == 80
筛选从12345端口到80端口的数据包----tcp.srcport == 12345 && tcp.dstport == 8TCP端口:tcp.port==80
TCP目的端口----tcp.dstport == 80
TCP源端口----tcp.srcport == 80
UDP端口----udp.port eq 15000
TCP 1-80之间的端口----tcp.port >= 1 and tcp.port <= 800

应用层:
特别说明----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”
http.request.method==”POST”
|| 满足其中一个条件
&& 两个条件都满足

数据包分析(wireshark常用)相关推荐

  1. Wireshark数据包分析(详细解析)

    wireshark数据包分析 Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用Win ...

  2. 今日头条app数据包分析

    数据包分析 wireshark+Connectify Hotspot(也可以是其他wifi共享工具), 参考:http://jingyan.baidu.com/article/19192ad85ca9 ...

  3. 【工具篇】07. DNS 域名解析 ❀ 数据包分析工具 Wireshark

    [简介]DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机 ...

  4. WireShark数据包分析数据封装

    WireShark数据包分析数据封装 数据封装(Data Encapsulation)是指将协议数据单元(PDU)封装在一组协议头和尾中的过程.在OSI七层参考模型中,每层主要负责与其它机器上的对等层 ...

  5. DHCP数据抓包分析--wireshark

    DHCP数据抓包分析–wireshark DHCP-(Dynamic Host Configuration Procotol,动态主机配置协议),是一个局域网的网络协议,主要用于给内部网络或网络服务供 ...

  6. Wireshark数据包分析(一)——使用入门

    Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...

  7. Wireshark数据包分析——Teardrop泪滴攻击

    本文仅做数据包学习使用! 一.泪滴攻击原理 Teardrop攻击是一种拒绝服务攻击,是一种针对IP协议的攻击方法,顾名思义,Teardrop攻击是一种令人落泪的攻击手段,可见其破坏威力很强大.它利用发 ...

  8. 《Wireshark数据包分析实战(第2版)》目录—导读

    版权声明 Wireshark数据包分析实战(第2版) Copyright © 2011 by Chris Sanders. Title of English-language original:Pra ...

  9. Wireshark数据包分析——Slammer蠕虫攻击

    本文仅做数据包学习使用! 一.Slammer蠕虫概述 SQL Slammer (2003年) Slammer 是一款DDOS恶意程序, 透过一种全新的传染途径, 采取分布式阻断服务攻击感染服务器, 它 ...

最新文章

  1. 二位数组的子数组最大值
  2. 第十一届蓝桥杯校内赛题解
  3. python零基础有用吗-零基础参加软件测试有用吗?老男孩Python培训班
  4. C++资源库不完全版本
  5. C语言变量初始化是必须的
  6. ueditor添加下拉事件_Excel中最智能的三级下拉菜单!
  7. 【转】Javabyte[]数组和十六进制String之间的转换Util------包含案例和代码
  8. How to do Regularization?(如何正则化)(1)----吴恩达机器学习
  9. microsoft store 安装包_Stata 15软件安装包免费下载附安装教程
  10. (附源码)ssm通用数据展示系统 毕业设计 200934
  11. 深度学习半年学习心得(如何入门)
  12. drools决策表的简单使用
  13. Docker部署mysql主从模式
  14. 如何删除windows的WSL
  15. 【设计模式】工厂模式(Factory Pattern)
  16. ImportError: cannot import name ‘ModelOutput‘ from ‘smplx.body_models‘
  17. 榆熙教育电商学院:拼多多为何做“百亿补贴”?都带来了什么?
  18. Electron理论知识 1-GN语法及使用介绍
  19. 江西省计算机专业好的二本大学排名,2017年江西二本大学排名榜单
  20. 等价类划分法与边界值分析法

热门文章

  1. css实现圆环效果,利用css实现圆环效果的方法
  2. 全球与中国船舶维修市场深度研究分析报告
  3. 全链路控制、构建Devops改善中台问题,让IT成为企业核心竞争力
  4. 【贪心算法】舞蹈室安排
  5. SSM整合时出错:Error creating bean with name ‘studentService‘ defined in file [/Users...
  6. 【转】QT#include GL/gl.h错误解决办法
  7. Github学生认证 + Copilot,这一篇就够了!
  8. 特征值与特征向量协方差矩阵
  9. C++ 拷贝构造函数的在继承中的总结
  10. 从零开始用树莓派4B玩深度学习