『神探tcpdump第6手』-linux命令5分シリーズの40

1836 ワード

【シリーズ記事】
『神探tcpdump第一手』-linux命令5分シリーズの35『神探tcpdump第二手』-linux命令5分シリーズの36『神探tcpdump第三手』-linux命令5分シリーズの37『神探tcpdump第四手』-linux命令5分シリーズの38『神探tcpdump第五手』-linux命令5分シリーズの39
==
第6の方法は、依然としてtcpdumpのフィルタ式を説明することができて、今回の構想はとても簡単で、直接例を挙げて、実はman tcpdumpの中の例で、とても直観的で、とても役に立ちます.
==
【例1】-eth 0 NICを通過したものを捕まえたいのですが、ソースはroclinuxです.cnサーバまたはターゲットはroclinuxである.cnサーバのネットワークパッケージ
tcpdump -i eth0 'host roclinux.cn'

【例2】-eth 0 NICを通過したroclinuxを捕まえたい.cnとbaidu.com間で通信するネットワークパケット、またはroclinux.cnとqiyi.com間通信のネットワークパケット
tcpdump -i eth0 'host roclinux.cn and (baidu.com or qiyi.com)'

【例3】-ftpポートとftpデータポートを使用したネットワークパケットを取得したい
tcpdump 'port ftp or ftp-data'

「このftp、ftp-dataはいったいどのポートに対応しているのでしょうか.ftp/ftp-dataのほかに、直接使えるサービス名はありますか?」
はい、これはいい質問です.答えは今発表します.
Linuxシステムでは、/etc/servicesというファイルには、すべての有名なサービスと伝送層ポートの対応関係が格納されています.この対応関係はIANA組織(the Internet Assigned Numbers Authority、インターネットデジタル配信機関)が全権を負うもので、このリンクにアクセスできます.http://www.iana.org/assignments/port-numbersWebで調べました.
/etc/servicesのftpに対応するポート値を21から8888に直接変更すると、tcpdumpはポートに8888を含むネットワークパケットを捕まえます.
【例4】-roclinuxを取得したい.cnとbaidu.com間でTCPの三次グリップの最初のネットワークパケット、すなわちSYNタグビット付きネットワークパケットを確立する、また、宛先ホストはqiyiであることができない.com
tcpdump 'tcp[tcpflags] & tcp-syn != 0 and not dst host qiyi.com'

この文は複雑に見えますが、実はこの説明をはっきりさせるのは容易ではありません.コンピュータネットワークの専門知識が必要です.これは章を手配して話します.
【例5】−576バイトを超えるIPパケット長を有するネットワークパケットを印刷する
tcpdump 'ip[2:2] > 576'

【例6】データリンク層がイーサネット媒体を介して行われない場合、ブロードキャストパケットまたはマルチキャストパケットが印刷される.
tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

最後の3つの例は、あなたが少し頭がくらくらしているかもしれませんが、大丈夫です.まず感覚的な認識があります.次のいくつかの文章を見てから、保証を信じて分かります.
ありがとう!