Scapyのsniffコマンドにフィルタを適用する際に問題があります。ただパケットを待ち、Scapyスニッフフィルタが機能しない
pkts = sniff(count=10, filter='tcp')
それが終わることはありません:。
Welcome to Scapy (2.3.3)
>>> pkts = sniff(count=10)
>>> for p in pkts: p.summary()
...
'IP/TCP xx.xx.xx.xx:ssh > xx.xx.xx.xx:53128 PA/Raw'
'IP/TCP xx.xx.xx.xx:60661 > xx.xx.xx.xx:http_alt PA/Raw'
'IP/TCP xx.xx.xx.xx:http_alt > xx.xx.xx.xx:60661 A'
'IP/TCP xx.xx.xx.xx:32874 > xx.xx.xx.xx:http S'
'IP/TCP xx.xx.xx.xx:https > xx.xx.xx.xx:58026 PA/Raw'
'IP/TCP xx.xx.xx.xx:58026 > xx.xx.xx.xx:https A'
'IP/TCP xx.xx.xx.xx:60804 > xx.xx.xx.xx:http_alt A'
'IP/TCP xx.xx.xx.xx:63244 > xx.xx.xx.xx:http_alt PA/Raw'
'IP/TCP xx.xx.xx.xx:http_alt > xx.xx.xx.xx:63244 A'
'IP/TCP xx.xx.xx.xx:43843 > xx.xx.xx.xx:http_alt A'
が、私は試してみてください。最も単純なケースでは、私はこのように、Scapy CLIで10個のパケットを盗聴することができます
私は、Ubuntu 16.04サーバーを実行しているレンタルされたVPSを使用しています。たとえば、私はLinuxのトラフィック制御(tc)を使用することができません。
これがどのように起こる可能性がありますか?
編集: BPFフィルタは、tcpdumpに対して正しく機能します。
FYI:私の問題を回避するには、/フィルターでtcpdumpを使用してのpcapファイルを作成し、その後のpythonの中に、そのファイルを読むことです怖い。 –
また、大きなpcapファイルをスニッフィングするための[この回答](https://stackoverflow.com/a/37964206/9141316) –