Wireshark使用tips


http and ip.src==192.168.1.100 # 先用ipconfig|more命令查看自己的IP地址

smtp || pop || imap #文本Email流量

ip.src == 192.168.1.100
ip.dst == 192.168.1.100
ip.addr == 192.168.1.100
ip.addr == 192.168.1.100 or ip.addr == 192.168.1.101


!tcp.port == 3389 #排除RDP流量
tcp.flags.syn == 1 #具有SYN标志位的TCP数据包
tcp.flags.rst == 1 #具有RST标志位的TCP数据包
!arp #排除ARP流量
http #所有HTTP流量
tcp.port==23 || tcp.port==21 #Telnet或FTP流量

 

udp.length == 26  #这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7      #指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94      #除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119  #整个数据包长度,从eth开始到最后
http.request.method == "GET"
http.request.uri == "/blog/awk_sed.txt"
http.request.full_uri == "http://ixyzero.com/blog/awk_sed.txt"
ip.addr == 107.170.214.214 and tcp.len > 0

搜索“100 Wireshark Tips”

 

参考链接:

《 “Wireshark使用tips” 》 有 5 条评论

  1. CaptureFilters
    https://wiki.wireshark.org/CaptureFilters
    `
    Capture filters (like tcp port 80) are not to be confused with display filters (like tcp.port == 80). The former are much more limited and are used to reduce the size of a raw packet capture. The latter are used to hide some packets from the packet list.
    捕获filter和展示filter是不一样的概念,前者的限制比较多且多用于减小原始捕获包的大小,后者用于隐藏不相关的包方便查看和分析。

    Capture filters are set before starting a packet capture and cannot be modified during the capture. Display filters on the other hand do not have this limitation and you can change them on the fly.
    捕获filter必须要在启动捕获之前进行设置,而展示filter则没有这个限制。
    `
    DisplayFilters
    https://wiki.wireshark.org/DisplayFilters
    `
    展示filter的语法里面用 == 的比较多
    `
    Wireshark User’s Guide
    https://www.wireshark.org/docs/wsug_html_chunked/

  2. `
    记录一个在日常办公中抓包分析的小tip:
    现在很多网站都是https协议的加密流量(不像之前的http协议),你从Wireshark里看不到内容详情的,甚至连域名都看不到(应该只能看到src和dst的的IP+port),但是在从域名到IP的时候会走一次DNS解析,你可以在这一步知道域名是什么(如果怕DNS缓存的话,可以先手动清除一下缓存,同时把不相关的应用都先关掉,从而更有针对性的做分析)。
    # DNS
    tcp.port == 53 || udp.port == 53
    `

  3. 从输入URL到页面加载完成发生了什么?
    https://juejin.cn/post/6985831026903744548
    `
    从前端的角度出发,我觉得首先回答必须包括以下几个基本的点:

    1. 浏览器查找当前 URL 是否存在缓存,并比较缓存是否过期。
    2. DNS 解析 URL 对应的 IP 。
    3. 根据 IP 建立 TCP 连接(三次握手)。
    4. HTTP 发起请求。
    5. 服务器处理请求,浏览器接收 HTTP 响应。
    6. 渲染页面,构建 DOM 树。
    7. 关闭 TCP 连接(四次挥手)。
    `

  4. 从输入 URL 到页面加载完成的过程中都发生了什么事情?
    https://fex.baidu.com/blog/2014/05/what-happen/

    从输入 URL 到页面加载完成的过程中都发生了什么事情?
    https://www.jianshu.com/p/71cf7f69eca8
    `
    1.浏览器接收URL
    2.将URL与缓存进行比对如果请求的页面在缓存中且未过期,则直接进行第8步
    2.1 彻底缓存的机制(http首部字段):cache-control,Expires
    2.2 当缓存过期时,浏览器会向服务器发起请求询问资源是否真正过期,这就是缓存协商。对应http首部字段:last-modified,Etag
    2.3 贴一个缓存机制的图(来自浅谈Web缓存)
    2.4 除了http首部设置缓存,HTML5的manifest文件也可以设置缓存。但现在已经被标准舍弃,也就没有讨论的必要。

    3.如果网络地址不是一个 IP 地址,通过DNS解析域名返回一个IP地址
    4.浏览器与服务器通过三次握手(SYN,SYN/ACK,ACK)建立TCP 连接
    5.浏览器向服务器发送HTTP请求。
    6.服务器收到请求,从它的文档空间中查找资源并返回HTTP响应。
    7.浏览器接受 HTTP 响应,检查 HTTP header 里的状态码,并做出不同的处理方式。
    8.如果是可以缓存的,这个响应则会被存储起来。
    9.解码
    10.渲染
    11.关闭TCP连接或继续保持连接
    `

    访问一个网站的全过程
    https://cncsl.github.io/2020/1103/%E8%AE%BF%E9%97%AE%E4%B8%80%E4%B8%AA%E7%BD%91%E7%AB%99%E7%9A%84%E5%85%A8%E8%BF%87%E7%A8%8B/

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注