序文 簡単に言えば、tcpdump は、ネットワーク上のトラフィックをダンプし、ユーザーの定義に従ってネットワーク上のデータ パケットを傍受するパケット分析ツールです。 Tcpdump は、ネットワークで送信されるデータ パケットの「ヘッダー」を完全に傍受し、分析を提供できます。ネットワーク層、プロトコル、ホスト、ネットワーク、またはポートのフィルタリングをサポートし、and、or、not などの論理ステートメントを提供して、不要な情報を削除します。 tcpdump コマンドといえば、私が参加した中国移動内モンゴル支社の第 3 世代 CRM システムの開発と実装について触れなければなりません。記憶が正しければ、2016 年のはずです。私は、10086 カスタマー サービス システム全体のセルフサービス チャネルの全体的な変革を単独で担当していました。システム ストレス テストのフェーズでは、インターフェイス プラットフォームを呼び出すときに常にタイムアウトが発生していました。その後、この問題はますます深刻になり、同時に短期ホールチャンネルとCBOSSチャンネルもこの問題を報告しました。このとき、この問題は大ボスの注目を集め、その後各方面の専門家が相談しました。こうした大規模なプロジェクトでは、専門家協議には必ず一つの特徴があり、それは専門家が指示を出し、弟分が作業を行うというものです。当時、私はその弟分でした。 さて、専門家が話してくれたので、まずはパケットをキャプチャしてみましょう。これが、私がパケット キャプチャ作業を開始し、tcpdump を包括的に理解するきっかけとなりました。 まず、tcpdump は非常に強力なコマンドであることを述べておく必要があります。その強力な機能は、このコマンドの使用が非常に複雑であることを意味します。つまり、次に整理する内容がたくさんあるということです。 tcpdump コマンド全体を習得したい場合は、少し辛抱して記事全体を読む必要があります。よし、行こう! コマンドの紹介 Tcpdump は、Linux プラットフォーム上で実行される強力なネットワーク パケット キャプチャ ツールです。 tcpdump の使い方に慣れると、ネットワーク データの分析とデバッグに役立ちます。ただし、tcpdump を使いこなすには、ネットワーク メッセージ (TCP/IP プロトコル) についてある程度理解している必要があります。ただし、単純な使用であれば、基本的なネットワークの概念があれば十分です。 インターネット上のシステム管理者にとって必須の定番ツールである tcpdump は、その強力な機能と柔軟な傍受戦略により、ネットワークを分析して問題をトラブルシューティングするすべての上級システム管理者にとって必須のツールの 1 つになりました。実際の作業では、このコマンドを root 権限で実行する必要があります。 tcpdump は非常に複雑なコマンドです。そのすべての側面を理解するのは簡単ではありませんし、お勧めできません。重要なのは、日常業務で問題を解決するためにそれを使用できることです。したがって、次の要約では、実際の業務に焦点を当て、実際の業務でよく使用されるいくつかの使用法を整理します。あまり一般的ではない使用法については、基本的にここでは取り上げません。将来、業務で使用される場合は、ここで更新します。 詳細なコマンドの説明 以下は、tcpdump のよく使用されるオプションの概要です。
tcpdump コマンドには多くのオプションがありますが、よく使用されるオプションは上記のものだけです。ここでは、使用例に焦点を当て、使用例を通じて tcpdump コマンドを学習します。 フィルター 詳細な使用例を始める前に、tcpdump の基本的な理論的知識を習得する必要があります。まずはフィルターについて説明しましょう。 サーバー上には異常に多くのネットワーク メッセージがあります。多くの場合、特定の問題に関連するデータ メッセージのみに注目し、これらの有用なメッセージはほんの一部に過ぎません。メッセージの海に迷い込まないようにするには、tcpdump が提供する柔軟で強力なフィルターについて学ぶことが非常に重要です。 フィルターは、type、dir、proto の 3 つのカテゴリに簡単に分類することもできます。 タイプ: 主にフィルタリングされたメッセージのソース タイプを区別するために使用されます。主にホスト ホスト メッセージ、ネット ネットワーク セグメント メッセージ、およびポート指定ポート メッセージで構成されます。 dir: メッセージの送信元アドレスと宛先アドレスのみをフィルタリングします。主に src 送信元アドレスと dst 宛先アドレスが含まれます。 proto: メッセージのプロトコル タイプのみをフィルターします。tcp、udp、icmp などをサポートします。proto キーワードは省略できます。
これらのフィルターは、tcpdump コマンドを使用するときに不可欠です。 条件の組み合わせ 広大なネットワークの中で、必要なネットワーク パッケージを見つけるのは依然として困難です。必要なネットワーク パケットをキャプチャするには、パケット キャプチャ コマンドに含める条件を厳しくすればするほど、キャプチャする無関係なパケットが少なくなります。したがって、パケットをキャプチャするときには、「and」(and &&)、「or」(or、||)、「not」(not、!) を使用して複数の条件を組み合わせることができます。これは、特定の条件に基づいてネットワーク パケットを分析する必要がある場合に非常に便利です。 使用事例 コマンド: 説明: 指定されたネットワークインターフェースのデータパケットを監視します コマンド: 説明: ホスト 210.27.48.3 によって送受信されたすべてのデータ パケットを傍受します。 コマンド: 説明: 210.27.48.3 ホストと 210.27.48.5 または 210.27.48.6 ホスト間のすべてのデータ パケットを傍受します。 コマンド: 説明: ネットワーク全体のデータパケットを傍受する 192.168.1.0/24 コマンド: 説明: eth0 ネットワーク カード上の送信元アドレス 210.27.48.3 のすべてのネットワーク パケットを監視します。 コマンド: 説明: 宛先アドレスが 210.27.48.3 である eth0 ネットワーク カード上のすべてのネットワーク パケットを監視します。 コマンド: 説明: ホスト 210.27.48.3 のポート 23 を使用してアプリケーションによって送受信されたすべての TCP プロトコル パケットを取得します。 コマンド: 説明: ローカルマシンのポート123で送受信されたすべてのUDPプロトコルパケットを取得します。 コマンド: 説明: 傍受された送信元アドレスは 10.126.1.222 で、宛先アドレスはネットワーク全体の 10.126.1.0/24 です。 コマンド: 注: メッセージをキャプチャした後、指定された時間間隔で保存します。-G オプションの後に秒単位の時間が続きます。上記のコマンドは 60 秒ごとにファイルを保存します。 コマンド: 注: パケットをキャプチャした後、指定されたパケット サイズに従って保存します。-C オプションの後にファイル サイズ (MB 単位) が続きます。上記のコマンドは、パケット キャプチャ ファイルが 1MB に達すると、新しいファイルを使用して新しくキャプチャされたパケットを保存します。 前述のように、tcpdump はパケットをキャプチャした後に対応するファイルを生成しますが、このファイルをどのように分析すればよいでしょうか?はい、「Wireshark」というソフトウェアがあり、tcpdump と完全に組み合わせて視覚的な分析インターフェイスを提供できます。ご興味があれば、ぜひ学んでみてください。後で時間があれば、「Wireshark」の入門シリーズも企画する予定です。 要約する 整理するのに長い時間がかかりましたが、ようやく完了しました。もちろん、tcpdump のような複雑なコマンドについて非常に包括的な概要を提供したわけではありませんが、ここでまとめた内容は、仕事で tcpdump コマンドを使用する際に影響することは絶対にありません。やはり「80/20 ルール」です。複雑なコマンドの場合、よく使われる機能は 20% しかなく、残りの 80% は比較的知られていない機能、または仕事でめったに使用されない機能です。 さて、以上がこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: CocosCreatorゲームにおける魚群アルゴリズムの詳細な説明
要件: Celery は Django に導入されています。Django プロジェクトを開始するとき...
【SQL】SQLページングクエリの概要開発プロセスではページングが必要になることがよくあります。今日...
SPA を構築する場合、多くの場合、特定のルートを保護する必要があります。たとえば、認証されたユーザ...
CSS操作 CS $("").css(名前|プロ|[,値|関数]) 位置$(&q...
効果画像(三角形をご希望の場合は、ここをクリックしてください): コード: <html>...
大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...
HTMLカラーブロックを使用してデータを動的に表示する <スタイル タイプ="te...
目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...
http1.1 プロトコルのデフォルトのリクエスト ヘッダーでは、図に示すように、デフォルトで ke...
遭遇した落とし穴私は午後中ずっと、uni-app で scss を使用する際の落とし穴を解決すること...
目次概要1. グローバル登録2. 現地登録3. モジュールシステムへのローカル登録概要コンポーネント...
<meta name="viewport" content="...
目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...
ビジネス要件最近開発したプロジェクトの一つに、WeChat公式アカウントに関連したH5ページがありま...
1. Apache 静的リソースのクロスドメイン アクセスApache設定ファイルhttpd.con...