scapy
は、ネットワークパケットの送信、盗聴、解読、偽造を可能にするツールです。 sniffingの段落はおそらくあなたが探しているものです。
$ scapy
Welcome to Scapy (2.3.2)
>>> pkts = sniff(filter='ip', count=10)
>>> print len(pkts)
10
>>> pkts.nsummary()
0000 Ether/IP/TCP 31.13.90.2:https > 192.168.1.14:63748 PA/Raw
0001 Ether/IP/TCP 192.168.1.14:63748 > 31.13.90.2:https A
0002 Ether/IP/TCP 192.168.1.14:63748 > 31.13.90.2:https PA/Raw
0003 Ether/IP/TCP 31.13.90.2:https > 192.168.1.14:63748 PA/Raw
0004 Ether/IP/TCP 192.168.1.14:63748 > 31.13.90.2:https A
0005 Ether/IP/UDP 192.168.1.21:48007 > 192.168.1.255:32412/Raw
0006 Ether/IP/UDP 192.168.1.21:49808 > 192.168.1.255:32414/Raw
0007 Ether/IP/UDP 192.168.1.11:64817 > 192.168.1.255:32412/Raw
0008 Ether/IP/UDP 192.168.1.11:64819 > 192.168.1.255:32414/Raw
0009 Ether/IP/UDP 192.168.1.11:49670 > 239.255.255.250:ssdp/Raw
>>> wrpcap("temp.cap",pkts)
>>>
[イーサネットフレームフォーマット](https://en.wikipedia.org/wiki/:ここで私は、その後、その情報の概要を示し、10個のIPパケットをキャプチャするのpcapファイルに保存する例を示しますEthernet_frame)はよく知られており、[Ethernet frame](https://en.wikipedia.org/wiki/Ethernet_frame)を持っていれば、ペイロード(IPパケット)を簡単に取得できます。 –
ありがとうございます。しかし、私は、イーサネットパケットを取得した後に、他のプロセスを持つよりも、生のIPパケットを直接取得する方法があることを意味しますか? –