私は希望なしにループが終了するのを待って一日を過ごします!. パフォーマンスに関しては、Pythonはそれほど効率的ではないことを私は知っています。そのため、私の問題に対するスピードアップの提案を本当に感謝しています。
Wireshark を使用して多数のパケット (約 500,000) をキャプチャし、それらを .pcap ファイルに保存しました。その後、保存したファイルから Scapy rdpcap() 関数を使用してパケットを読み取り、ループ内の各パケットにアクセスしてソース IP アドレスを抽出しました。私のコードは次のとおりです。
from scaly.all import *
srcList =[]
Packets = rdpcap("pcapfile")
for pkt in Packets:
src = Packets[Packets.index(pkt)][1].src
srcList.append(src)
注: 掘り下げてみたところ、入れ子になったループを高速化するために Cython が使用されていることがわかりましたが、正直なところ、私の場合はそれを使用する方法がわかりません。どんな洞察も素晴らしいでしょう