使用Python进行网络抓包可以通过多种库实现,以下是使用Scapy库进行抓包的简单示例:
python
from scapy.all import *
def packet_handler(packet):
if packet.haslayer(TCP):
src_ip = packet[IP].src
dst_ip = packet[IP].dst
src_port = packet[TCP].sport
dst_port = packet[TCP].dport
print(f"Source IP: {src_ip} , Destination IP: {dst_ip}")
print(f"Source Port: {src_port} , Destination Port: {dst_port}")
使用sniff函数进行抓包,参数count表示要捕获的数据包数量
sniff(filter="tcp", prn=packet_handler, count=10)
这段代码会捕获TCP数据包,并打印出源IP、目标IP、源端口和目标端口。
如果你想使用其他库,比如Pyshark或tcpdump,可以分别参考以下示例:
Pyshark:
python
import pyshark
cap = pyshark.FileCapture('sample.pcap')
for pkt in cap:
print(pkt)
tcpdump:
python
import subprocess
proc = subprocess.Popen(["tcpdump", "-i", "eth0", "-c", "10"], stdout=subprocess.PIPE)
for line in iter(proc.stdout.readline, ''):
print(line)
这些示例展示了如何使用Pyshark和tcpdump库进行数据包捕获。
请注意,抓取网络数据包可能需要相应的权限,并且在使用抓包工具时,请确保遵守相关法律法规和隐私政策
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/73467.html