2016-06-12 3 views
0

接続するネットワークにホスト名だけをキャプチャする必要があります。私は完全なトラフィックを必要としません。 e。 e。 g。私は "www.google.com"、 "facebook.com"、 "plus.google.com"など のような名前だけを取得し、ファイルに保存することを期待しています。 Android 4.4.2で実行するTCPDUMPコマンドは何ですか? N.B.私はtcpdumpバイナリを /system/bin/tcpdumpとしてインストールしました。ホスト名のみをキャプチャ

答えて

1

あなたの目的に最も適したtcpdumpコマンドはおそらくtcpdump -q ip or ip6です。そこ

のみは、パケットのIP送信元と送信先のアドレスに対応するホスト名が表示されます何のtcpdumpコマンドではありません - あなたは、このようなパケットのタイムスタンプと、少なくとも最低限の試みとして、その他の情報を取得します-qフラグが設定されていても、パケットの内容を解読することができます。ドメイン名を抽出するために後処理を行う必要がありますが、tcpdumpテキスト出力の形式は解析するのが難しくありません。

18:12:01.344016 IP www.sonic.net > 192.168.42.66: ICMP echo reply, id 61009, seq 1, length 64 

または

18:13:02.576498 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 0 
18:13:02.611576 IP www.sonic.net.http > 192.168.42.66.60726: tcp 0 
18:13:02.611653 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 0 
18:13:06.235021 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 16 

タイムスタンプと "IP"(または "IP6")を削除し、コロンとその後ろのすべてを削除し、TCPまたはUDPパケットで最後の ".XXX"を削除する必要があります送信元と宛先のアドレス(を指定しない場合は、送信元と宛先のポート番号/名前をにします。これがTCPまたはUDPパケットの最後のコンポーネントです)。 ">"は送信元アドレスと宛先アドレスを区切ります。

つまり、sedなどのプログラムをインストールするか、AWK、Perl、Pythonなどのスクリプト言語用にn個のインタープリタをインストールして、後処理を行う必要があります。

だけにの送信元と宛先のIPアドレスのドメイン名を与えたい場合は、自分で書き込む必要があります。

関連する問題