zoukankan      html  css  js  c++  java
  • 5分钟彻底扫除TCP/IP协议学习障碍-wirshark使用详解

    在这里插入图片描述

    一、wirshark安装

    1.安装包下载

    二、抓包及抓包过滤器设置

    1.wrishark抓包设置

    在这里插入图片描述
    在这里插入图片描述

    2. 捕获过滤器语法:

    ↑↑↑↑↑↑↑↑点击这里有实例详解↑↑↑↑↑↑↑↑↑↑
    Wireshark捕获过滤器是用libpcap过滤语言编写的,这个我们使用的不多,我将有专门一篇博客介绍这个的用法,我们常用的也就过滤ip和端口,下面我们简单的介绍:
    语法:
    捕获过滤器采用由连词(和/或)连接的一系列基本表达式的形式,可选地在前面加上not
    [not] primitive [and|or [not] primitive…]
    这个是我们必须要会的

    实例 含义
    tcp port 23 and host 192.168.0.100 捕获主机和192.168.0.100之间的telnet通信
    tcp port 23 and not src host 192.168.0.100 捕获所有源不是192.168.0.100的tcp 23端口流量

    ——————————————————————————————————————

    • [src|dst] host
      可以筛选主机IP地址或名称。您可以选择在原语之前加上关键字src | dst,以指定您仅对源地址或目标地址感兴趣。如果不存在,则将选择指定地址作为源地址或目标地址出现的数据包。

    • ether [src|dst] host
      允许您过滤以太网主机地址。您可以选择在关键字ether和host之间包含关键字src | dst, 以指定您仅对源地址或目标地址感兴趣。如果不存在,则将选择在源地址或目标地址中出现指定地址的数据包。

    • gateway host
      可以筛选将主机用作网关的数据包。也就是说,以太网源或目标是主机,但源IP和目标IP地址都不是host

    • [src|dst] net [{mask }|{len }]
      过滤网络号,抓取你感兴趣的网络号

    • [tcp|udp] [src|dst] port
      用于筛选TCP和UDP端口号。可以选择在此原语之前加上关键字src | dst和tcp | udp ,可以指定仅对源或目标端口以及TCP或UDP数据包感兴趣。关键字tcp | udp必须出现在src | dst之前。

    • less|greater
      过滤指定长度的数据包

    • ip|ether proto 对以太网协议过滤
      实例

    ether proto 0x0806  
    抓取以太网的arp报文(ether表示以太网头部,proto表示以太网头部proto字段值为0x0806)
    
    • ether|ip broadcast|multicast
      允许过滤以太网或IP广播或多播
      ——————————————————————————————————
      这是wrishark给我们的一些直接选用的抓包过滤规则,我们常规使用已经够了,也可以自定义添加
      在这里插入图片描述
      根据上面我们设置完成后 ,我们继续
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    三、显示过滤器设置

    1.简单比较表达式

    英文符号 数学符号 含义 实例
    eq == 等于 ip.src==192.168.0.1
    ne ! = 不等 ip.src!=192.168.0.1
    gt > 大于 frame.len > 20
    lt < 小于 frame.len < 128
    ge >= 大于等于 frame.len ge 0x100
    le <= 小于等于 frame.len <= 0x20
    contains 无符号 sip.To contains “a1762”
    matches ~ 包含 http.host matches "tianyao.(com
    bitwise_and & tcp.flags & 0x02

    注意

    • 英文符号和数学符号可以混合使用;
    • 整数都可以使用十进制,八进制或十六进制表达;
    • mac地址可以用 “:” “- ” “.”三种连接符号任意一种表示,如eth.dst == ff-ff-ff-ff-ff-ff
    • ip地址也可以写一段 如显示192.168.1 C类网络中的所有数据包:ip.addr == 192.168.1.0./24
    • IPV6我们也有类似写法:ipv6.addr == ::1

    **实例解释说明:**上表看明白的可以忽略忽略

    实例 说明
    ip.src==192.168.0.1 显示源IP是192.168.0.1
    ip.src!=192.168.0.1 不显示源IP是192.168.0.1
    frame.len > 20 显示frame长度大于20 的包
    frame.len <128 显示frame长度小于128 的包
    sip.To contains “a1762” SIP To-header 头部中包含“ a1762”的所有数据包
    http.host matches "tianyao.(com site)" 显示http协议host头部包含tianyao.com或者tianyao.site的包
    frame.len ge 0x100 显示frame长度大于等于256的包(0x100 ,十六进制,相当于256)
    tcp.flags & 0x02 显示包含tcp.flags字段且设置为0x02(SYN位置)的数据包

    2.组合表达式

    英文符号 数学符号 含义 实例
    and && ip.src==10.0.0.5 and tcp.flags.fin
    or II ip.scr= =10.0.0.5 or ip.src= =192.1.1.1
    xor ^^ 异或 tr.dst[0:3]= =0.6.29 xor tr.src[0:3] = = 0.6.29
    not not llc

    3.切片运算

    在标签后,您可以放置​​一对用逗号分隔的范围说明符列表的方括号[]。
    eth.src [0:3] == 00:00:83
    使用n:m格式指定单个范围。在这种情况下,n是起始偏移量,m是指定范围的长度。

    eth.src [1-2] == 00:83
    上面的示例使用nm格式指定单个范围。在这种情况下,n是开始偏移,m是结束偏移。

    eth.src [:4] == 00:00:83:00
    上面的示例使用:m格式,它采用从序列开头到偏移m的所有内容。相当于0:m

    eth.src [4:] == 20:20
    上面的示例使用n:格式,该格式包含从偏移量n到序列末尾的所有内容。

    eth.src [2] == 83
    上面的示例使用n格式指定单个范围。在这种情况下,将选择序列中偏移量为n的元素。这相当于n:1。

    eth.src [0:3,1-2,:4,4:,2] ==
    00:00:83:00:83:00:00:83:00:20:20:83

    注意:
    显示过滤器
    {80 443 8080}中的tcp.port
    相当于
    tcp.port = = 80 || tcp.port = = 443 || tcp.port = = 8080
    但是,显示过滤器
    {443 4430…4434}中的tcp.port
    不等于
    tcp.port == 443 || (tcp.port> = 4430 && tcp.port <= 4434)
    这是因为当任何字段与过滤器匹配时比较运算符都将满足,因此,源端口为56789且目标端口为端口80的数据包也将与第二个过滤器匹配,因为它56789 >= 4430 && 80 <= 4434为true。相反,隶属运算符针对范围条件测试单个字段。

    四、预告

    进一步讲解wrishark使用,我将使用wrishark分析TCPIP协议栈。分13篇,更新完成整个TCP/IP协议分析

    序号 名称
    1 Ethernet协议分析
    2 ARP协议分析
    3 IP协议分析
    4 ICMP协议分析
    5 DHCP协议分析
    6 DNS协议分析
    7 TFTP协议分析
    8 TCP协议分析
    9 Tlnet协议分析
    10 SSH协议分析
    11 HTTP协议分析
    12 FTP协议分析
    13 SMTP协议分析
  • 相关阅读:
    RDP劫持:如何透明劫持RDS以及RemoteApp会话
    渗透测试工具备忘单
    Scrapy爬取慕课网(imooc)所有课程数据并存入MySQL数据库
    关于读取properties文件路径问题
    python随机生成测试数据用户名
    字典的应用(根据第一列,统计第二列之和)
    冒泡算法和排序算法运行速度比较
    判断日期天数
    Python爬虫抓取煎蛋(jandan.net)无聊图
    快递查询
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12755224.html
Copyright © 2011-2022 走看看