web-dev-qa-db-ja.com

Linuxを使用してeth0でパケットをキャプチャし、すべてをeth1に送信するにはどうすればよいですか?

今日、私はSagemcomルーターと一緒に企業インターネット接続を得ました。初めてインターネットに接続したときは、ファームウェアのアップグレードに20分かかります。

アップグレードがどのように認証されるかを理解する目的で、2つのNICを備えたCentOSホストを使用して、このアップグレードのすべてのトラフィックをキャプチャしたいと思います。例えば。秘密のユーザーアカウントとパスフレーズで?

CentOSホストをインターネット接続とルーターの間に配置したい場合:

質問

  • CentOSを設定して、eth0に入るすべてのトラフィックがeth1に出るようにするにはどうすればよいですか?
  • 後でWiresharkを使用してパッケージを検査する場合、tcpdump -s0 -A -w upgrade.pcap -nni eth0は正しいですか?
4
Sandra

Eth0とeth1を bridge として設定し、eth0がSagemcomに接続され、eth1がインターネット接続に接続されていると想定します。トラフィックはブリッジを通過するので、TCPダンプをブリッジで実行して、すべてのトラフィックをキャプチャできます。

Bridge-utilsパッケージが必要になります

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 up

tcpdump -s0 -w dump.pcap -i br0
5
Epaphus

まず、トラフィックを通過させたい場合は、CentOSボックスをルーターとして設定します。これには、基本的にパケット転送を有効にする必要があります(通常はマシンが宛先です)。

その単純な部分は、/etc/sysctl.confを変更することです。
変化する

net.ipv4.ip_forward = 0から1。

次に、一方のネットワークにeth0を設定し、もう一方にeth1を設定して、ネットワーク間にルートを追加します。

ファイアウォールやselinuxのような他のものの設定はあなた次第です。

tcpdump -s0 -n Host < router IP > -w upgrade.pcap -i anyを使用します
その一部は冗長かもしれませんが、たとえば、ルーターIPとの間で送受信されるトラフィックをリッスンしている場合は、インターフェイスの方法で多くを指定する必要はないと思います。

2
NickW