私のホームラップには、特にVLANとよりよく理解したい他のプロトコルに関していくつかの実験をしたいスイッチがあります。今このスイッチ(aTP-Link 5ポートマネージドスイッチ)はポートミラーリングを可能にします。
私のコンピュータでこのミラーリングされたトラフィックを分析し、監視コンピュータから「新しい」トラフィックをできるだけ少なく導入したいと思います。どうすればいいですか?
もともと私のPCに向かっていなかったパケットを受信するには、NICを無差別モードに設定する必要があることをすでに知っています。これは通常Wireshark自体で行われるので、心配する必要はありません。
しかし、他のポートで生成されたトラフィックを実際に見ることができるように、ポートにできるだけ少ない「ノイズ」を導入したいと思います。私は見つけたこの回答これは、実行中のすべてのサービス(DHCPなど)を無効にすることをお勧めします。ただし、これによりノイズが大幅に減少しますが、ARP検証やその他のカーネルベースのネットワーク相互作用を防ぐことはできません。
また、この目的のために特別に設計されたいくつかのプロトコルがあることもわかりました(例:Cisco スパン)、しかし私のスイッチにはこの機能はありません。
だから私の質問は:ネットワークインタフェースを読み取り専用にするにはどうすればよいですか?
答え1
Linuxでインターフェイスを「読み取り専用」にする最も簡単な方法は、シャットダウンを適用することです。tc
水滴をろ過してください。 すべて。
フィルタを適用するには、品格のあるキューの規律所定の位置にある必要があります。これプリオqdiscは、独自の機能ではなく、インターフェイスでフィルタを使用できる最も単純なクラス型qdiscです。
最終設定インターフェースイーサネット1「読み取り専用」:
tc qdisc add dev eth1 root prio
tc filter add dev eth1 matchall action drop
これにより、そのインターフェイスからのトラフィックがブロックされます。 RAWソケットもブロックするので(ファイアウォールの影響を受けません)、IPv4 DHCPクライアントもブロックされます(ファイアウォールにもかかわらずまだアドレスを取得できます)。それでも方法がありますが、慎重に検討した後にのみ実行できます。私が知っている2つは次のとおりです。
- 使用
PACKET_QDISC_BYPASS
生ソケットのソケットオプション - 使うAF_XDPソケット。
インターフェイスの元の状態に戻るには、qdiscを削除します。
tc qdisc del dev eth1 root
メモ:
ポートがミラーモードに設定されているスイッチがポートを読み取り専用モードに設定している可能性があるとします。
これはテストが必要です。 true の場合、上記のフィルタや下の 2 番の項目を使用することは意味がなくなります。
UP状態で他の設定が適用されていないインターフェイスはまだトラフィックを交換できます。
以前のフィルタがないと、設定されていないがUP状態のインターフェイスでもトラフィックを残すことができます。少なくとも2つの状況があります。
IPv6自動設定
使用
sysctl -w net.ipv6.conf.eth1.disable_ipv6=1
ARPが無効になっていない場合(使用
ip link set eth1 arp off
)この状況は、LAN上のシステムが、一部のシステムが既知のアドレスを持つ他のネットワーク(仮想ネットワークを含む)を使用しているかどうかを調べることができる、より一般的な情報漏洩状況と同じです。デフォルトでは、LinuxのインターフェイスはARPに応答します。要求するどのその他の住所どのその他のインターフェース。それは 部分弱い人ホストモデル。
たとえば、OPシステムがデフォルト設定でlivbirt QEMU / KVMを実行している場合、192.168.122.1/24が次に割り当てられます。ウイルス0、設定されていないUPインターフェイスにのみ接続されている他のLinuxシステムは、次の実行時に引き続きARP応答を受け取ります。
arping -I eth0 192.168.122.1
システムに192.168.122.1へのパスがあるかどうかを検索することは重要ではありません。これはARP(およびルーティングに興味がないコマンド)に関するものです。 LXCや10.0.3.1などでも同じです。