网络安全入门必备:收藏这篇,用Wireshark 5分钟彻底搞懂TCP/IP
网络安全入门必备:收藏这篇,用Wireshark 5分钟彻底搞懂TCP/IP
文章介绍如何使用Wireshark工具学习TCP/IP协议。详细讲解了Wireshark的安装、抓包设置、捕获过滤器和显示过滤器的使用方法。通过直观查看网络协议栈各层数据,帮助理解网络通信过程,比纯理论学习更有效。特别适合初学者掌握网络协议分析和网络安全基础知识。
学不会 TCP/IP?用 Wireshark 看一遍,5 分钟彻底通透
介绍
网络协议分析
Wireshark 是一款强大的网络协议分析工具,它能够捕获并解码网络流量中的数据包。通过使用 Wireshark,用户可以直观地看到 TCP/IP 协议栈中每一层的数据,从而帮助理解网络通信的详细过程。无论是初学者还是经验丰富的网络专家,都可以利用 Wireshark 进行网络故障排查、性能分析以及协议学习。这个工具的图形化界面使得数据包的分析变得简单明了,大大降低了学习 TCP/IP 协议的难度。
数据包捕获与解码
Wireshark 的核心功能是捕获网络接口上的数据包,并对这些数据包进行解码,显示出行头信息和数据内容。用户可以根据需要设置过滤条件,只显示特定的协议或满足某些条件的数据包。这种能力对于深入理解 TCP/IP 协议的工作原理非常有帮助。通过观察实际的网络流量,用户可以更具体地了解数据是如何在网络中传输的,以及各种协议是如何交互的。这种方法比单纯的理论学习更加直观和有效。
流程
一、wirshark安装
1.安装包下载
- • 方法一:
官网下载最新版本:不建议网速太慢

image
方法二 三只适用于windows系统
- • 下载方法二:
腾讯或者360 的软件管家中直接搜索(腾讯的基本和官网是同步的)

image
方法三:
[如果你没有那些,我这里给你提供3.2.2安装文件](https://pan.baidu.com/s/18mCn0fxT7oVrF1IQYyPIqg) 提取码:t0t1
二、抓包及抓包过滤器设置
1.wrishark抓包设置

image

image
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)
AI写代码12
- • ether|ip broadcast|multicast
允许过滤以太网或IP广播或多播
——————————————————————————————————
这是wrishark给我们的一些直接选用的抓包过滤规则,我们常规使用已经够了,也可以自定义添加

image
根据上面我们设置完成后 ,我们继续

image

image

image
三、显示过滤器设置
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。相反,隶属运算符针对范围条件测试单个字段。
文章来自网上,侵权请联系博主
学习资源
如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你
知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。


1、知识库价值
深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。
广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。
实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。
2、 部分核心内容展示
360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。
内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。
1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群
一、基础适配人群
- 零基础转型者:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链;
- 开发/运维人员:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展或者转行就业;
- 应届毕业生:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期;
二、能力提升适配
1、技术爱好者:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者;
2、安全从业者:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力;
3、合规需求者:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员;
因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐


所有评论(0)