wireshark的使用

wireshark的使用

一、协议

1. TCP/IP协议簇

  • 网络接口层(没有特定的协议) PPPOE(拨号协议)属于物理层
    • 物理层
    • 数据链路层
  • 网络层:IP(V4/V6) ARP(地址解析协议) RARP ICMP(Internet控制报文协议) IGMP
  • 传输层:TCP(传输控制协议) UDP(用户数据报协议)
  • 应用层:都是基于传输层协议的端口,总共端口0~65535 0~1023 HTTP--tcp80 HTTPS---tcp443
    • DHCP
    • DNS
    • HTTP
    • HTTPS
    • FTP
    • DMTP
    • POP3
    • IMAP

二、流量抓取工具(wireshark)

1. 网卡

  • wires hark是对主机网卡上的数据流量进行抓取
  • 网卡模式

    • 混杂模式:不管目的是否是自己,都接受
    • 非混杂模式:默认情况下,主机的网卡处于此模式,不会接受目的非自己的数据

2. 过滤器

  • 捕获过滤器:在抓包前进行过滤(只抓某些类型的包或者不抓某些类型的包)

    • 语法
    • 类型:host net port
    • 方向:src dst
    • 协议:ether ip tcp udp http ftp
    • 逻辑运算符:&&与 ||或 !非
    • 举例
    • 抓取源IP为192.168.18.14并且目标端口为80的报文
    src host 192.168.18.14 && dst port 80
    • 抓取IP为192.168.18.14或者IP地址192.168.18.1
    host 192.168.18.14 || host 192.168.18.1
    • 不抓取广播包
    ! broadcast
    • 抓取源IP为192.168.18.14或者源192.168.18.0/24,目的TCP端口号在200到10000之间,并且目的位于129.0.0.0/8
    (src host 192.168.18.14 ||src net 192.168.18.0/24 )&& (dst portrange 200-10000 && dst net 129.0.0.0/8)
  • 显示过滤器:抓包前后都可以进行过滤,但是不会影响抓取的包(会抓取所有的包,只不过再查看的时候只显示某些包)

    • 语法
    • 比较操作符:==(eq) !=(不等于) >(大于、gt) <(小于、lt) >= (大于等于ge) <=(小于等于le)
    • 逻辑操作符:and(&&)与,or(||)或,not
    • ip地址过滤:ip.addr ip.src ip.dst
    • 端口过滤:tcp.port udp.port tcp.dstport tcp.flag.syn tcp.flag.ack
    • 协议过滤:arp ip icmp udp tcp http
    • 举例
    • 显示源IP等于192.168.18.14并且TCP端口为443
    ip.src==192.16.18.14 and tcp.port==443
    • 显示源不为192.168.18.14或者目的不为202.98.96.68的
    ip.src!=192.168.18.14 or ip.dst!=202.98.96.68

3. 案例

  • 开启wireshark抓包,抓取所有报文,然后去访问一个HTTP的网站
  • 过滤DNS的报文,找到对应的域名解析报文
  • 根据DNS返回的IP地址,找到主机与服务器的TCP交互过程
  • 找到客户机请求服务器的HTTP报文,追踪HTTP流情况
上一篇
下一篇