有没有办法
tcpdump -i lo -A
并让它打印所有网址,建立任何连接?
我已经做好了:
sudo tcpdump -i lo -A | grep Host:
效果很好。但我想知道在 tcpdump 中是否有选项可以做同样的事情
最后,有没有办法在 python 中做到这一点而不使用 sys 命令或 Popen/subprocess
您可以使用 scapy 的嗅探功能并使用正则表达式或 grep
import scapy
tcpdump = sniff(count=5,filter="host 64.233.167.99",prn=lambda x:x.summary())
print tcpdump
更改过滤器文本的过滤器:)
或者您可能想保存流量并在wireshark中查看
wrpcap("temp.cap",pkts)
您要使用的是 libpcap,它是 tcpdump 使用的数据包捕获库。有一个 python 包装器可以在这里找到。
您可以在 python 中,在 pcap/tcpdump 已经提供的过滤之上构建您想要的任何过滤。然后显示此过滤后的输出(或您想要在 python 脚本中执行的任何操作)。