目录
-
- windows平台安装Wireshark
-
- 组件选择
- [Additional Tasks](#Additional Tasks)
- [Packet Capture](#Packet Capture)
- [USB Capture](#USB Capture)
- [Npcap Installation Options](#Npcap Installation Options)
- [Ubuntu上安装 Wireshark](#Ubuntu上安装 Wireshark)
-
- [不使用 sudo 运行 Wireshark](#不使用 sudo 运行 Wireshark)
- 使用GUI抓包
- 使用命令行抓包
- 参考资料
Wireshark 是一款自由开源的网络协议分析器,它在全球被广泛使用。
通过使用 Wireshark,你可以实时捕获网络的传入和传出数据包,并将其用于网络故障排除 、数据包分析 、软件和通信协议开发等。
它适用于所有主流的桌面操作系统,如 Windows、Linux、macOS、BSD 等。
windows平台安装Wireshark
组件选择
选择全部组件
Additional Tasks
全部选择
Packet Capture
选择安装Install Npcap 1.78
.
USB Capture
用于USB抓包,实验性质,还没有稳定,是否安装.用于USB协议分析.
由于不进行USB相关工作,不安装.
Npcap Installation Options
bash
#1.支持wifi协议
#2.Npcap兼容WinPcap
Ubuntu上安装 Wireshark
bash
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt update
sudo apt install wireshark
不使用 sudo 运行 Wireshark
bash
sudo dpkg-reconfigure wireshark-common
#选择"Yes"
设置不使用sudo运行wireshark后,如果再使用sudo运行wireshark抓包保存时会出现错误。
使用GUI抓包
选择网卡,点击开始按钮,设置过滤条件;进行保存操作如下:
在Show Applications中打开wireshark,选择Capture->Options选择Output标签
- File:浏览到需要保存的文件
- 选择Create a new file automatiaclly
- 选择 after nnn packets,nnn设置成需要的大小
选择Start开始抓包.
使用命令行抓包
由于GUI wireshark抓包时间长了会导致内存溢出崩溃,使用命令行可以避免抓包程序崩溃.
确定抓取哪个网卡的报文
由于有的抓包电脑存在多网卡,需要在抓包前确定抓取哪一个网卡的报文.
bash
#列出当前电脑网卡序号
dumpcap -D
#可以看到所有的网卡
1. wlp3s0b1
2. lo (Loopback)
3. any
4. enp12s0
5. bluetooth-monitor
6. nflog
7. nfqueue
8. bluetooth0
抓取数据包
bash
#切换到east目录
cd /home/east/
#新建目录
mkdir mydata
#进入新建目录
cd mydata
#抓取数据包
dumpcap -i 1 -f 'tcp port 80' -b packets:20480 -w wlan.pcap
命令解释:
dumpcap 抓包程序;
-i 1 表示抓取网卡编号为1的网卡数据包;
-f 'tcp port 80' 表示抓取tcp协议80端口的数据包;
-b packets:20480 表示抓取20480个数据包后,自动另存一个文件;
-w wlan.pcap 表示保存文件路径和文件名;
停止抓包
理论上抓包一直继续,直到把磁盘占满,生成的抓包文件会在指定文件夹中按照日期时间顺序依次累加.
按"ctrl+c"可以停止抓包.
设置过滤条件
设置过滤条件参考pcap-filter手册.