* AnonymousDiary を人力検索はてなの質問の補記に使うことをお許しください(質問文はこちら)。
tcpdumpでネットワーク接続を開始したときに、キャプチャする方法
OSは、Ubuntu 8.04。シェルは、bashをそれぞれ使用しております。
下記、(1)、(2)の手順で、ネットワーク接続を開始したら、
tcpdumpでパケットをキャプチャするような設定を行いました。
OSを再起動さてみたところ、正常に取得を開始してくれません。
そこで
下記、(3)、(4)の手順で試してみると、それぞれ不可思議な挙動を発見しました。
原因が分からず苦慮しております。ご教示いただけないでしょうか。
何卒、よろしくお願い致します。
#!/bin/sh
tcpdump -i eth0 -s 1500 -C 10 -w /var/log/tcpdump/tcpdump`date '+%Y%m%d%H%M%S'`.log
/etc/network/interfeces に次の1行を書き込みました。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
# The primary network interface
auto eth0
iface eth0 inet static
address ???.???.???.???
netmask 255.255.255.0
gateway ???.???.???.???
* ???は、適当な数が割り当てられてます。
OSを再起動さてみたところ、正常に取得を開始してくれません。
そこで、(3)、(4)を試してみました。
user@server:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... SIOCADDRT: File exists
Failed to bring up eth0.
user@server:~$ sudo ifconfig eth0 down
user@server:~$ sudo ifconfig eth0 up
user@server:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... Received cookie: SQ_SYSTEM_SESSION=4gqai700bd5s0tdo9f0fafnbr7
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes
capture.sh が永遠に終わらないコマンドなのはよくない とりあえず tcpdump に -c 20 とか付けて、終了するようにしてみる これでうまくいくなら、内部で tcpdump をデーモン化すればいい
ご回答、ありがとうございます。 tcpdump -c 20 を試してみましたが、サーバは期待に答えてくれませんでした。 上記の方法は、上手くいきませんでしたが、とりあえず、デーモン化を試し...