导读 Scapy 是一个功能强大的 Python 库,专为网络数据包操作设计。而其中的 `sniff()` 函数更是它的明星功能之一,可以用来捕获网络流量。
Scapy 是一个功能强大的 Python 库,专为网络数据包操作设计。而其中的 `sniff()` 函数更是它的明星功能之一,可以用来捕获网络流量。💡
首先,确保你已经安装了 Scapy:`pip install scapy`。接着,我们可以通过以下代码来使用 `sniff()`:
```python
from scapy.all import sniff
捕获 10 个数据包
packets = sniff(count=10)
for packet in packets:
print(packet.summary())
```
这段代码会捕获 10 个数据包并打印它们的基本信息。🔥
如果想实时监控流量,可以设置 `prn` 参数,它会在每个数据包被捕获时执行指定函数。例如:
```python
def packet_callback(packet):
print(f"捕获到数据包: {packet.summary()}")
sniff(prn=packet_callback, filter="ip")
```
这里通过过滤器只捕获 IP 数据包,并实时显示结果。🎯
需要注意的是,运行这些脚本可能需要管理员权限,尤其是在 Linux 或 macOS 上。因此,请务必谨慎使用,避免对网络环境造成干扰!🌐
🌟 总结来说,Scapy 的 `sniff()` 是一个灵活且强大的工具,适合学习和研究网络协议。快来试试吧!💪