wireshark过滤源IP和目的IP,Wireshark 抓包过滤命令大全,收藏这篇就够了

Wireshark 是一款开源软件,最早由 Gerald Combs 在 1998 年创建,原名 Ethereal。2006 年,由于商标问题,Ethereal 更名为 Wireshark。作为一个网络协议分析器,Wireshark 能够捕获网络接口上的数据包,并提供详细的解码和分析功能。Wireshark 支持多种操作系统,包括 Windows、macOS 和 Linux。

目录:

  • 抓包过滤基础

  • 显示过滤器

  • 常用的显示过滤器

  • 过滤 HTTP 流量

  • 过滤 DNS 流量

  • 过滤 TCP 流量

  • 过滤 UDP 流量

  • 过滤 ICMP 流量

  • 显示过滤器的高级用法

  • 捕获过滤器

  • 常用的捕获过滤器

  • 捕获 HTTP 流量

  • 捕获 DNS 流量

  • 捕获 TCP 流量

  • 捕获 UDP 流量

  • 捕获 ICMP 流量

  • 捕获过滤器的高级用法

  • 高级过滤技巧

  • 组合过滤条件

  • 使用正则表达式

  • 字段存在检查

  • 使用偏移量和掩码

Wireshark 的主要功能包括:

  • 实时数据捕获:能够捕获实时流量并对其进行分析。

  • 数据包解码:支持数百种网络协议,能够解码并显示各种协议的详细信息。

  • 过滤功能:提供强大的过滤功能,可以根据特定条件筛选数据包。

  • 数据包重组:能够重组和分析分片的数据包,以查看完整的通信内容。

  • 统计和图表:提供多种统计和图表功能,帮助用户进行流量分析和趋势预测。

Wireshark 的界面设计简洁明了,主要包括以下几个部分:

  1. 菜单栏和工具栏
  • 菜单栏:提供文件操作、编辑、查看、捕获、分析等选项,可以通过菜单访问各种功能。

  • 工具栏:常用功能的快捷按钮,包括开始和停止捕获、打开和保存捕获文件、显示过滤器等。

  1. 捕获选项和启动按钮
  • 捕获接口选择:选择要捕获数据包的网络接口,可以是以太网、Wi-Fi等。

  • 捕获选项:配置捕获参数,如数据包长度、捕获过滤器、环形缓冲区等。

  • 启动按钮:开始和停止数据包捕获。

  1. 数据包列表窗口
  • 数据包列表:显示捕获的数据包,每个数据包一行,包含时间戳、源地址、目的地址、协议、长度等基本信息。

  • 列排序和过滤:可以根据不同列进行排序和过滤,方便查找特定数据包。

  1. 数据包详情窗口
  • 数据包解码详情:选中一个数据包后,在详情窗口中显示其解码信息,按照协议层次结构显示,包括链路层、网络层、传输层和应用层的详细字段。

  • 展开和折叠:可以展开和折叠各协议层次,查看具体字段的值和含义。

  1. 数据包字节窗口
  • 字节视图:以十六进制和ASCII格式显示选中数据包的原始字节数据,帮助用户查看数据包的实际内容。

  • 字节高亮:与数据包详情窗口联动,高亮显示对应字段的字节数据。

  1. 显示过滤器输入框
  • 过滤器输入框:用于输入显示过滤器,筛选显示满足条件的数据包。

  • 过滤器提示:提供过滤器语法提示和自动完成功能,帮助用户快速输入正确的过滤器。

抓包过滤基础

Wireshark 中的过滤器是其最强大和最常用的功能之一。通过使用过滤器,用户可以从庞大的数据包捕获中筛选出感兴趣的特定数据包,从而更高效地进行网络分析和故障排除。

抓包过滤是指在数据包捕获和分析过程中,使用特定的规则和条件,筛选出满足条件的数据包。Wireshark 提供了两种主要的过滤器类型:显示过滤器和捕获过滤器。

  • 显示过滤器:用于在捕获后筛选和显示特定的数据包。显示过滤器是在数据包已经被捕获之后应用的,它不会影响实际的数据包捕获过程。

  • 捕获过滤器:用于在捕获过程中筛选数据包。捕获过滤器是在数据包捕获之前应用的,它会直接影响捕获到的数据包数量和内容。

Wireshark 支持两种类型的过滤器:显示过滤器和捕获过滤器。它们的语法和使用方式有所不同。

下面我们详细介绍一下这两种过滤器。

显示过滤器

显示过滤器是 Wireshark 中用于在数据包捕获之后,根据特定条件筛选和显示数据包的工具。显示过滤器的语法相对简单,使用字段名、运算符和值来构建过滤条件。

显示过滤器的基础语法包括:

  • 字段名:指定要过滤的数据包字段,如 ip.addrtcp.port 等。

  • 运算符:用于比较字段值的运算符,如 ==!=><>=<= 等。

  • :与字段名进行比较的值,可以是数值、字符串、布尔值等。

示例:

  • 过滤特定 IP 地址的数据包:
ip.addr == 192.168.1.1   

  • 过滤特定端口的数据包:
tcp.port == 80   

  • 过滤特定协议的数据包:
http   

常用的显示过滤器

一些常用的显示过滤器包括:

  1. IP 地址过滤
  • 过滤特定源 IP 地址的数据包:
ip.src == 192.168.3.9   

瑞哥本机地址是192.168.3.9

  • 过滤特定目的 IP 地址的数据包:
ip.dst == 192.168.3.66   

  • 过滤特定 IP 地址的数据包(无论源还是目的):
ip.addr == 192.168.3.9   

  1. 端口号过滤
  • 过滤特定源端口的数据包:
tcp.srcport == 80   

  • 过滤特定目的端口的数据包:
tcp.dstport == 443   

  • 过滤特定端口的数据包(无论源还是目的):
tcp.port == 80   

  1. 协议过滤
  • 过滤 HTTP 协议的数据包:
http   

  • 过滤 TCP 协议的数据包:
tcp   

  • 过滤 ICMP 协议的数据包:
icmp   

  1. 排除特定流量
  • 排除 ICMP 协议的数据包:
!icmp   

过滤 HTTP 流量

HTTP 流量是网络分析中常见的一部分,通过显示过滤器可以筛选和分析特定的 HTTP 请求和响应。

  1. 过滤所有 HTTP 流量
http   

  1. 过滤特定主机的 HTTP 流量
http.host == "www.example.com"   

  1. 过滤特定 URI 的 HTTP 请求
http.request.uri contains "/login"   

  1. 过滤特定方法的 HTTP 请求
http.request.method == "POST"   

  1. 过滤特定状态码的 HTTP 响应
http.response.code == 200   

过滤 DNS 流量

DNS 流量也是网络分析中常见的内容,通过显示过滤器可以筛选和分析 DNS 查询和响应。

  1. 过滤所有 DNS 流量
dns   

  1. 过滤特定域名的 DNS 查询
dns.qry.name == "example.com"   

  1. 过滤特定类型的 DNS 查询
dns.qry.type == 1  // A记录查询   

  1. 过滤特定响应码的 DNS 响应
dns.flags.rcode == 0  // No error   

  1. 过滤特定 IP 地址的 DNS 响应
dns.a == 192.168.1.1   

过滤 TCP 流量

TCP 是传输层的主要协议之一,通过显示过滤器可以筛选和分析特定的 TCP 会话和流量。

  1. 过滤所有 TCP 流量
tcp   

  1. 过滤特定源端口的 TCP 流量
tcp.srcport == 80   

  1. 过滤特定目的端口的 TCP 流量
tcp.dstport == 443   

  1. 过滤特定 TCP 标志位的流量
tcp.flags.syn == 1  // SYN 包   

  1. 过滤特定 TCP 会话的流量
tcp.stream eq 1   

过滤 UDP 流量

UDP 是传输层的另一主要协议,通过显示过滤器可以筛选和分析特定的 UDP 会话和流量。

  1. 过滤所有 UDP 流量
udp   

  1. 过滤特定源端口的 UDP 流量
udp.srcport == 53   

  1. 过滤特定目的端口的 UDP 流量
udp.dstport == 123   

  1. 过滤特定 UDP 会话的流量
udp.stream eq 1   

过滤 ICMP 流量

ICMP 是网络层的重要协议,通过显示过滤器可以筛选和分析特定的 ICMP 报文。

  1. 过滤所有 ICMP 流量
icmp   

  1. 过滤特定类型的 ICMP 报文
icmp.type == 8  // Echo Request   

  1. 过滤特定代码的 ICMP 报文
icmp.code == 0   

  1. 过滤特定 ID 的 ICMP 报文
icmp.ident == 0x1234   

  1. 过滤特定序列号的 ICMP 报文
icmp.seq == 0x1   

显示过滤器的高级用法

显示过滤器还支持更复杂的条件组合和表达式,例如:

  1. 多个条件的组合
  • 过滤特定源 IP 和目标端口的数据包:
ip.src == 192.168.3.9 && tcp.dstport == 8080   

  1. 范围过滤
  • 过滤帧长度在 100 到 200 字节之间的数据包:
frame.len >= 100 && frame.len <= 200   

  1. 使用正则表达式
  • 过滤 URI 包含 “login” 的 HTTP 请求:
http.request.uri matches ".*login.*"   

  1. 复杂逻辑过滤
  • 过滤源 IP 为 192.168.1.1 且目的端口为 80,或源 IP 为 192.168.1.2 且目的端口为 443 的数据包:
(ip.src == 192.168.3.9 && tcp.dstport == 80) || (ip.src == 192.168.3.66 && tcp.dstport == 443)   

捕获过滤器

捕获过滤器在数据包捕获过程中起作用,通过预先定义的条件,仅捕获满足条件的数据包。捕获过滤器使用 Berkeley Packet Filter (BPF) 语法,能够在捕获时减少不必要的数据包,提升捕获效率。

捕获过滤器的基础语法包括:

  • 字段名:指定要过滤的数据包字段,如 hostportnet 等。

  • 运算符:用于比较字段值的运算符,如 ==!=><>=<= 等。

  • :与字段名进行比较的值,可以是数值、字符串、布尔值等。

💡捕获过滤器最终的效果和显示过滤器差不多,所以下面瑞哥的截图会少点,大家可以自己尝试。

示例:

  • 过滤特定 IP 地址的数据包:
host 192.168.3.9   

  • 过滤特定端口的数据包:
port 80   

  • 过滤特定协议的数据包:
tcp   

常用的捕获过滤器

一些常用的捕获过滤器包括:

  1. IP 地址过滤
  • 过滤特定 IP 地址的数据包:
host 192.168.1.1   

  • 过滤特定源 IP 地址的数据包:
src host 192.168.1.1   

  • 过滤特定目的 IP 地址的数据包:
dst host 192.168.3.66   

  1. 端口号过滤
  • 过滤特定端口的数据包:
port 80   

  • 过滤特定源端口的数据包:
src port 80   

  • 过滤特定目的端口的数据包:
dst port 443   

  1. 协议过滤
  • 过滤 TCP 协议的数据包:
tcp   

  • 过滤 UDP 协议的数据包:
udp   

  • 过滤 ICMP 协议的数据包:
icmp   

  1. 排除特定流量
  • 排除特定 IP 地址的数据包:
not host 192.168.1.1   

  • 排除特定端口的数据包:
not port 80   

捕获 HTTP 流量

通过捕获过滤器筛选 HTTP 流量可以减少捕获的数据量,尤其是在只需要分析特定的 HTTP 请求和响应时。

  1. 捕获所有 HTTP 流量
tcp port 80   

  1. 捕获特定主机的 HTTP 流量
tcp port 80 and host www.example.com   

捕获 DNS 流量

通过捕获过滤器筛选 DNS 流量,可以有效地捕获特定的 DNS 查询和响应。

  1. 捕获所有 DNS 流量
udp port 53   

  1. 捕获特定域名的 DNS 查询
udp port 53 and host example.com   

捕获 TCP 流量

通过捕获过滤器筛选 TCP 流量,可以捕获特定会话和特定条件下的 TCP 报文。

  1. 捕获所有 TCP 流量
tcp   

  1. 捕获特定源端口的 TCP 流量
src port 80   

  1. 捕获特定目的端口的 TCP 流量
dst port 443   

  1. 捕获特定 TCP 标志位的流量
tcp[tcpflags] & tcp-syn != 0  // SYN 包   

捕获 UDP 流量

通过捕获过滤器筛选 UDP 流量,可以捕获特定会话和特定条件下的 UDP 报文。

  1. 捕获所有 UDP 流量
udp   

  1. 捕获特定源端口的 UDP 流量
src port 53   

  1. 捕获特定目的端口的 UDP 流量
dst port 123   

捕获 ICMP 流量

通过捕获过滤器筛选 ICMP 流量,可以捕获特定类型和特定条件下的 ICMP 报文。

  1. 捕获所有 ICMP 流量
icmp   

  1. 捕获特定类型的 ICMP 报文
icmp[icmptype] == icmp-echo   

  1. 捕获特定代码的 ICMP 报文
icmp[icmpcode] == 0   

捕获过滤器的高级用法

捕获过滤器支持更复杂的条件组合和表达式,例如:

  1. 多个条件的组合
  • 过滤源 IP 和目标端口同时满足的数据包:
src host 192.168.1.1 and dst port 80   

  1. 范围过滤
  • 过滤特定网段的数据包:
net 192.168.1.0/24   

  1. 复杂逻辑过滤
  • 过滤源 IP 为 192.168.1.1 且目标端口为 80,或源 IP 为 192.168.1.2 且目标端口为 443 的数据包:
(src host 192.168.1.1 and dst port 80) or (src host 192.168.1.2 and dst port 443)   

  1. 字段存在检查
  • 过滤存在特定字段的数据包:
tcp[tcpflags] & tcp-syn != 0   

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

高级过滤技巧

Wireshark 过滤器不仅可以用于简单的条件筛选,还支持更复杂的逻辑运算和组合,从而实现更精细的过滤。

组合过滤条件

通过组合多个过滤条件,可以实现更复杂的筛选逻辑。

  1. AND 逻辑组合
  • 过滤源 IP 为 192.168.1.1 且目的端口为 80 的数据包:
ip.src == 192.168.1.1 && tcp.dstport == 80   

  1. OR 逻辑组合
  • 过滤源 IP 为 192.168.1.1 或目的端口为 443 的数据包:
ip.src == 192.168.1.1 || tcp.dstport == 443   

  1. 混合逻辑组合
  • 过滤源 IP 为 192.168.1.1 且(目的端口为 80 或 443)的数据包:
ip.src == 192.168.1.1 && (tcp.dstport == 80 || tcp.dstport == 443)   

使用正则表达式

Wireshark 的显示过滤器支持正则表达式,可以用来匹配更复杂的字符串模式。

  1. 匹配 HTTP 请求 URI 中包含特定字符串
  • 过滤 URI 包含 “login” 的 HTTP 请求:
http.request.uri matches ".*login.*"   

  1. 匹配 HTTP 头部中的特定字段
  • 过滤 User-Agent 包含 “Mozilla” 的 HTTP 请求:
http.request.header.User-Agent matches ".*Mozilla.*"   

字段存在检查

通过检查字段是否存在,可以筛选出包含特定字段的数据包。

  1. 检查 IP 选项字段是否存在
  • 过滤包含 IP 选项字段的数据包:
ip.options   

  1. 检查 TCP 选项字段是否存在
  • 过滤包含 TCP 选项字段的数据包:
tcp.options   

使用偏移量和掩码

Wireshark 过滤器支持通过偏移量和掩码筛选特定位的数据。

  1. 过滤 TCP 标志位中的 SYN 包
  • 使用位运算过滤 TCP SYN 包:
tcp.flags & 0x02 != 0   

  1. 过滤特定字节偏移量的数据包
  • 过滤 TCP 数据包中包含特定数据模式的包:
tcp[13] & 0x02 != 0   

关于我

笔者本人 17 年就读于一所普通的本科学校,20 年 6 月在三年经验的时候顺利通过校招实习面试进入大厂,现就职于某大厂安全联合实验室。

我为啥说自学黑客,一般人我还是劝你算了吧!因为我就是那个不一般的人。

首先我谈下对黑客&网络安全的认知,其实最重要的是兴趣热爱,不同于网络安全工程师,他们大都是培训机构培训出来的,具备的基本都是防御和白帽子技能,他们绝大多数的人看的是工资,他们是为了就业而学习,为了走捷径才去参加培训。

而我进大厂主要是靠自学内推进来是,当时我才20岁,基于对黑客的热爱,我每次工作做完了,就天天抱着本书看,甚至不会计较和主动研究各个技术和包揽一些任务(和大多数躺平族不一样),可能还是觉得自己不足,我又把tcp/ip协议大全,路由交换°这些基础啃了一遍,c++都学了一阵子。

基于自己的学校出身,我身上也不可避免存在一些自卑心理,老觉得自己是野路子出来,想游击队变正规军系统的梳理。我近个月还在看php(对就是那个最好的编程语言)、后续我也打算在看http权威指南。工作之余还把几个厂家的设备也主动请缨的摸熟了,可能我身上的这些“匠心”的精神。这就是我不一般的表现吧!

如何自学黑客&网络安全

黑客零基础入门学习路线&规划

初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

题外话

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值