wireshark

来源:互联网 发布:软件高级工程师好考吗 编辑:程序博客网 时间:2024/05/09 06:54
  • wireshark
    • 基本
    • 应用Wireshark IO Graphs分析数据流
    • 抓包过滤器
    • 显示过滤器
    • 其它

wireshark

基本

查看服务器和目标端之间的全部会话

  • 在详细显示区域单击右键,选择Follow TCP Stream.
  • 关闭窗口之后,你会发现过滤条件自动被引用了——Wireshark显示构成会话的报文.
    Find Packet菜单选项 过滤
  • 如果你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项。选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择。选择合适的flag,tcp.flags.syn并且加上==1。点击Find,之后trace中的第一个SYN报文就会高亮出来了。

应用Wireshark IO Graphs分析数据流

  • wireshark点击Statistics – IO Graphs
    IO Graphs有六个可用函数
  • IO Graphs有六个可用函数:SUM, MIN, AVG, MAX, COUNT, LOAD。
  • 将Y轴设置为“Advanced”,让Caculation域可见。不做这一步就看不到计算选项。

抓包过滤器

  • 应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏。
    * 常用命令*
  • ether host 10:51:72:27:b9:ab
  • ether src host 10:51:72:27:b9:ab
  • ether dst host 10:51:72:27:b9:ab
  • host 172.18.131.51
  • src host 172.18.131.51
  • dst host 172.18.131.51
  • port 80
  • ! port 80
  • dst port 80
  • src port 80
  • arp
  • icmp
  • host 172.18.131.51 && port 80

抓取指定IP地址的数据流:
如果你的抓包环境下有很多主机正在通讯,可以考虑使用所观察主机的IP地址来进行过滤。以下为IP地址抓包过滤示例:

  • host 10.3.1.1:抓取发到/来自10.3.1.1的数据流
  • host 2406:da00:ff00::6b16:f02d:抓取发到/来自IPv6地址2406:da00:ff00::6b16:f02d的数据流
  • not host 10.3.1.1:抓取除了发到/来自10.3.1.1以外的所有数据流
  • src host 10.3.1.1:抓取来自10.3.1.1的数据流
  • dst host 10.3.1.1:抓取发到10.3.1.1的数据流
  • host 10.3.1.1 or 10.3.1.2:抓取发到/来自10.3.1.1,以及与之通讯的所有数据流,与10.3.1.2,以及与之通讯的所有数据流
  • host www.espn.com:抓取发到/来自所有解析为www.espn.com的IP地址的数据流

抓取指定IP地址范围的数据流:
 当你需要抓取来自/发到一组地址的数据流,可以采用CIDR(无类别域间路由,Classless Interdomain Routing)格式或使用mask参数。

  • net 10.3.0.0/16:抓取网络10.3.0.0上发到/来自所有主机的数据流(16表示长度)
  • net 10.3.0.0 mask 255.255.0.0:与之前的过滤结果相同
  • ip6 net 2406:da00:ff00::/64:抓取网络2406:da00:ff00:0000(IPv6)上发到/来自所有主机的数据流
  • not dst net 10.3.0.0/16:抓取除了发到以10.3开头的IP地址以外的所有数据流
  • not src net 10.3.0.0/16:抓取除了来自以10.3开头的IP地址以外的所有数据流
  • ip proto :抓取ip协议字段等于值的报文。如TCP(code 6), UDP(code 17), ICMP(code 1)。
  • ip[2:2]==:ip报文大小
  • ip[8]==:TTL(Time to Live)值
  • ip[9]==:协议值
  • icmp[icmptype]==: 抓取 ICMP代码等于identifier的ICMP报文, 如icmp-echo 以及 icmp-request。
    方括号中第一个数字表示从协议头开始的偏移量,第二个数字表示需要观察多少位。

抓取基于MAC地址的数据流:
当你需要抓取发到/来自某一主机的IPv4或IPv6数据流,可创建基于主机MAC地址的抓包过滤条件。应用MAC地址时,需确保与目标主机处于同一网段。

  • ether host 00:08:15:00:08:15:抓取发到/来自00:08:15:00:08:15的数据流
  • ether src 02:0A:42:23:41:AC:抓取来自02:0A:42:23:41:AC的数据流
  • ether dst 02:0A:42:23:41:AC:抓取发到02:0A:42:23:41:AC的数据流
  • not ether host 00:08:15:00:08:15:抓取除了发到/来自00:08:15:00:08:15以外的所有数据流
  • ether broadcast或ether dst ff:ff:ff:ff:ff:ff:抓取广播报文
  • ether multicast:多播报文
  • 抓取指定以太网类型的报文:ether proto 0800
  • 抓取指定VLAN:vlan
  • 抓取指定几个VLAN:vlan and vlan

抓取基于指定应用的数据流:
你可能需要查看基于一个或几个应用的数据流。抓包过滤器语法无法识别应用名,因此需要根据端口号来定义应用。通过目标应用的TCP或UDP端口号,将不相关的报文过滤掉。

  • port 53:抓取发到/来自端口53的UDP/TCP数据流(典型是DNS数据流)
  • not port 53:抓取除了发到/来自端口53以外的UDP/TCP数据流
  • port 80:抓取发到/来自端口80的UDP/TCP数据流(典型是HTTP数据流)
  • udp port 67:抓取发到/来自端口67的UDP数据流(典型是DHCP据流)
  • tcp port 21:抓取发到/来自端口21的TCP数据流(典型是FTP命令通道)
  • portrange 1-80:抓取发到/来自端口1-80的所有UDP/TCP数据流
  • tcp portrange 1-80:抓取发到/来自端口1-80的所有TCP数据流

抓取结合端口的数据流:
当你需要抓取多个不连续端口号的数据流,将它们通过逻辑符号连接起来,如下图所示:

  • port 20 or port 21:抓取发到/来自端口20或21的UDP/TCP数据流(典型是FTP数据和命令端口)
  • host 10.3.1.1 and port 80:抓取发到/来自10.3.1.1端口80的数据流
  • host 10.3.1.1 and not port 80:抓取发到/来自10.3.1.1除了端口80以外的数据流
  • udp src port 68 and udp dst port 67:抓取从端口68到端口67的所有UDP数据流(典型是从DHCP客户端到DHCP服务器)
  • udp src port 67 and udp dst port 68:抓取从端口67到端口68的所有UDP数据流(典型是从DHCP服务器到DHCP客户端)
  • 抓取TCP连接的开始(SYN)和结束(FIN)报文,配置tcp[tcpflags] & (tcp-syn|tcp-fin)!=0
  • 抓取所有RST(Reset)标志位为1的TCP报文,配置tcp[tcpflags] & (tcp-rst)!=0
  • less :抓取小于等于某一长度的报文,等同于len <=
  • greater :抓取大于等于某一长度的报文,等同于len >=
    SYN: 简历连接的信号
    FIN: 关闭连接的信号
    ACK: 确认接收数据的信号
    RST: 立即关闭连接的信号
    PSH: 推信号,尽快将数据转由应用处理
  • tcp[13] & 0x00 = 0: No flags set (null scan)
  • tcp[13] & 0x01 = 1: FIN set and ACK not set
  • tcp[13] & 0x03 = 3: SYN set and FIN set
  • tcp[13] & 0x05 = 5: RST set and FIN set
  • tcp[13] & 0x06 = 6: SYN set and RST set
  • tcp[13] & 0x08 = 8: PSH set and ACK not set
    tcp[13]是从协议头开始的偏移量,0,1,3,5,6,8是标识位。

显示过滤器

  • 在Filter后空框内输入条件。或点击Expressions,选择相应条目。点击 Filter(默认)。
  • ip.addr == 172.18.131.51
  • ip.src == 172.18.131.51
  • ip.dst == 172.18.131.51
  • ip.src == 172.18.131.51 and ip.dst == 172.18.131.52
  • tcp.port == 80
  • tcp.srcport == 80
  • tcp.dstport == 80
  • tcp.flag.syn == 1
  • tcp.flag.ack == 1
  • arp
  • tcp
  • ucp
  • not http
  • not arp
  • ip.src == 172.18.131.51 and tcp.dstport == 80
  • ip.addr == 172.18.131.51 ahd udp.port == 4000
  • arp or icmp 查看ping的包流量

其它

  • 报文的SEQ/ACK Analysis截面-查看是否是重传报文等
    internet protocol-transmition control-SEQ/ACK Analysis
    *Statistics统计工具 点击Statistics自行选择

链接网址

一站式学习Wireshark

0 0
原创粉丝点击