Python によるパケット キャプチャー ツールの使い方
パケットスニファをシミュレートする場合にはPythonを使用することができ、`scapy`ライブラリを使用することができます。以下は、Pythonと`scapy`を使用してパケットスニファをシミュレートする方法の簡単なコードの例です。
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)
上記のコードでは、まずscapyライブラリをインポートし、次にpacket_handler関数を定義してキャプチャしたパケットを処理します。この例では、TCPパケットのみを処理し、送信元IP、宛先IP、送信元ポート、宛先ポートを出力します。
最後に、sniff関数を使ってパケットのキャプチャを開始します。filterパラメータはパケットをフィルタリングするために使用でき、prnパラメータはパケットがキャプチャされたときに呼び出す処理関数を指定し、countパラメータはキャプチャするパケットの量を指定します。
このサンプルコードを実行すると、パケットのキャプチャが開始され、キャプチャされた各TCPパケットの送信元IP、送信元ポート、宛先IP、宛先ポートが出力されます。必要に応じて、packet_handler関数をカスタマイズしてパケットの処理に利用できます。