Linux如何抓包

Linux如何抓包

tcpdump是Linux自带的抓包工具,

抓包类型:指定抓包,动态抓包

指定抓包:

tcpdump 一般情况下 需要sudo 授权

sudo python3 py_tcpdump.py
# py_tcpdump.py
import subprocess
import time

cmd = ['tcpdump', '-i', 'any']
p_tcpdump = subprocess.Popen(cmd)
time.sleep(5)
p_tcpdump.terminate()

01、抓取所有网络包,并在terminal中显示抓取的结果,将包以十六进制的形式显示。
tcpdump
02、抓取所有的网络包,并存到result.cap 文件中。
tcpdump -W result.cap
03、抓取所有的经过etho网卡的网络包,存到result.cap文件中。
tcpdump -i eth0 -W result.cap
04、抓取源地址是192. 168.1. 100的包,并将结果保存到result.cap 文件中。
tcpdump src host 192.168.1.100 -W result.cap

05、抓取地址包含是192.168.1.100的包,并将结果保存到 result.cap 文件中。

tcpdump host 192.168.1.100 -w result.cap

06、抓取目的地址包含是192.168.1.100的包,并将结果保存到 result.cap 文件中。

tcpdump dest host 192.168.1.100 -w result.cap

07、抓取主机地址为 192.168.1.100 的数据包

tcpdump -i eth0 -vnn host 192.168.1.100

08、抓取包含192.168.1.0/24网段的数据包

tcpdump -i eth0 -vnn net 192.168.1.0/24

09、抓取网卡eth0上所有包含端口22的数据包

tcpdump -i eth0 -vnn port 22
Linux 中的抓包工具主要是 tcpdump 和 Wireshark 的命令行版本 tshark。这里主要介绍 tcpdump 的使用方法。 tcpdump 是一个命令行网络分析工具,它允许用户截取经过网络接口的数据包,并能够将网络层、协议、端口等信息进行过滤,方便用户分析网络上的问题或数据流动情况。使用 tcpdump 的基本命令格式如下: ``` tcpdump [选项] [过滤表达式] ``` - 选项部分可以指定抓包的接口、抓包数量、抓包超时时间等。 - 过滤表达式用于指定需要抓取哪些数据包,比如根据 IP 地址、端口号、协议类型等进行过滤。 基本示例命令: 1. 抓取指定网络接口 eth0 的所有数据包: ``` tcpdump -i eth0 ``` 2. 保存抓取的数据包到文件中: ``` tcpdump -w capture.pcap -i eth0 ``` 3. 读取之前保存的抓包文件: ``` tcpdump -r capture.pcap ``` 4. 过滤只抓取包含特定 IP 地址的数据包: ``` tcpdump -i eth0 src 192.168.1.100 ``` 或 ``` tcpdump -i eth0 dst 192.168.1.100 ``` (src 表示源地址,dst 表示目的地址) 5. 过滤特定端口的数据包: ``` tcpdump -i eth0 port 80 ``` 6. 过滤特定协议的数据包,比如只捕获 TCP 或者 UDP 协议的数据包: ``` tcpdump -i eth0 tcp ``` 或 ``` tcpdump -i eth0 udp ``` 这些是使用 tcpdump 命令进行基本抓包操作的一些示例,tcpdump 还有许多高级的用法和参数,可以通过阅读它的手册(man tcpdump)来获取更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值