Linuxで実行されているいくつかのアプリケーションをテストするには、Linuxの着信パケットとして特定のインターフェイスにいくつかのL2パケット(カスタマイズ)を挿入する必要があります。
役立つライブラリ(Python推奨)/例はありますか?Scrapyライブラリをざっと見ていたのですが、パケットを送信パケットとしてのみネットワークに挿入できるように見えますか?
Linuxで実行されているいくつかのアプリケーションをテストするには、Linuxの着信パケットとして特定のインターフェイスにいくつかのL2パケット(カスタマイズ)を挿入する必要があります。
役立つライブラリ(Python推奨)/例はありますか?Scrapyライブラリをざっと見ていたのですが、パケットを送信パケットとしてのみネットワークに挿入できるように見えますか?
ネイティブLinuxbridge
モジュールを利用できる場合は、この方法で使用できます。橋を作る
brctl addbr <brname>
次に、仮想eth
ペアを作成します(デフォルト名veth0
は、veth1
)。vethsは接続されたL2デバイスです
ip link add type veth
ifconfig veth0 up
ifconfig veth1 <some_ip> up
次に、特定のインターフェイスを追加します。たとえばeth0
、ペアの片側veth
をこのブリッジに追加します。
brctl addif <brname> eth0
brctl addif <brname> veth0
これにより、これら両方のインターフェイスがブリッジに追加されます。これで、トラフィックを送信すると、 (通常のL2スイッチ機能に基づいて)トラフィックを送信veth0
できるようになります。eth0
トラフィックを送信するには、両方が内部で接続されているため、トラフィックを送り込むveth0
必要があります。veth1
だから、あなたが使いたいとしましょうtcpreplay
、ただやってください
tcpreply -i veth1 yourpcap.pcap
どうなるか教えてください