C/C++全栈day01

这是我跟着轩辕大佬学习的一个项目,非常有意思,想着就记录下来,也当做是巩固知识了。

一、Wireshark

首先安装WireShark,抓包首选工具就是他。

打开后会发现Capture区域有个列表,该列表就是展示电脑所有的网卡,例如WI-FI: en0就是其中一个。至于怎么会有这么多,其实不用管。其他的就是一些虚拟网卡。

我们可以看到第一个和第二个的网卡后面都有一段波浪线,这就说明了这个网卡是存在通讯内容的。其中Loopback是我们的回环地址127.0.0.1,也就是虚拟网卡。

点击第一个网卡,双击后就进入到抓包页面。

密密麻麻五颜六色的就是各种数据包,点击上方红色方形按钮,就停止抓包啦。要从新抓包就点击左边那个蓝色鲨鱼按钮

顶部这边是一个过滤器,可以用它快速筛选你想要看到的数据,比如tcp.port == 80,也可以条件联合过滤,tcp.port == 80 || udp.port == 80

  • 语法:支持IP地址、端口、协议及比较/逻辑运算符(如==、>、<、and、or)。
  • 使用方法:直接在过滤栏输入语句,修改后立即生效。

还有其他的用法:

时间过滤精确到特定时刻的数据包筛选。frame.time == "Sep 26, 2004 23:18:04.954975"
协议过滤根据协议类型进行筛选。tcp.port eq 25 or icmp
HTTP过滤根据HTTP状态码或请求方法筛选。http.response.code == 302
http.request.method == POST
显示IP地址为192.168.32.121的数据包ip.addr == 192.168.32.121

更多的可以参考官方文档:https://www.wireshark.org/docs/man-pages/wireshark-filter.html

下面两部分,左边是从上到下分别表示着网络层级模型中从下往上。右边则是数据包的十六进制数据。

二、tshark命令行工具

这玩意儿和Wireshark的关系简单来讲就是一个命令行,另一个是图形。

上述图片中tshark – D表示列举出本机网络接口。其他例如有:

1. 基本捕获

  • 指定网卡捕获-i):
tshark -i eth0           # Linux
tshark -i Ethernet0      # Windows
tshark -i any            # 捕获所有接口流量
  • 捕获指定数量的包-c):
tshark -c 100            # 捕获100个包后停止
  • 捕获时过滤流量-f,BPF 语法):
tshark -f "port 80"      # 仅捕获HTTP流量
tshark -f "icmp"         # 仅捕获ICMP(ping)流量
tshark -f "src 192.168.1.1"  # 捕获来自指定IP的流量

2. 输出与显示

  • 输出到文件-w-r):
tshark -w capture.pcapng        # 保存为pcapng文件
tshark -r capture.pcapng        # 读取已有抓包文件
  • 仅显示特定协议-Y,显示过滤器):
tshark -Y "http.request"       # 显示HTTP请求
tshark -Y "dns.qry.name contains google.com"  # 显示包含域名的DNS查询
  • 格式化输出-T):
tshark -T fields -e ip.src -e ip.dst  # 仅显示源IP和目标IP
tshark -T json                        # 输出为JSON格式
tshark -T text                        # 默认文本输出
  • 提取特定字段(结合 -e):

tshark -T fields -e frame.time -e ip.src -e http.host -e http.request.uri

  • 统计信息-z):
tshark -z http,tree         # HTTP请求统计树
tshark -z io,phs            # 协议分层统计
tshark -z endpoints,ip      # IP端点统计(收发流量TopN)

3. 示例

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇