2017-07-19 5 views
0

ほとんどのPythonスニッフィングモジュール(pcapy、winpcapy、pypcap、scapy、socket)を試しました。Pythonのスニッフィングモジュールを使用してパケットを失った

私は常にパケットの一部を失ったのと同じ問題を抱えています(約1%〜10%)。

しかしWiresharkと同時に、tcpdumpパケットは失われません。多分パフォーマンスですか?または、マルチプロセスで何かをしようとしますか?このコードから

+1

収集するコードを入力してください。パケット損失は、scapyがどのように設定されているかによって異なります。 – StephenG

+0

ok.i www.secdev.org/projects/scapy/のサンプルコードを使用しています。 from scapy.all import * from scapy.layers import http def http_header ): 何かをする; パケット= sniff(prn = http_header、store = 0) と、どのように設定されたscapyを確認できますか? thx! – Poisonx

答えて

1

from scapy.all import * 
from scapy.layers import http 
def http_header(): 
    do something 

packet=sniff(prn=http_header,store=0) 
store 0

は問題です。それは基本的に処理するパケットはできるだけ早く、バッファリングしないでください。 sniff(prn=http_header)と同じコードを実行してもパケットを破棄しません。

+0

あなたの答えをありがとう、私は(prn = http_header)鼻でそれを試してみるが、それはまだ失われ、私はPythonのプロセスメモリリークを発見した、実際には、私は長い時間プログラムを実行します。だから私はそれが必要です。 – Poisonx

関連する問題