検索
ホームページ運用・保守Linuxの運用と保守Linuxネットワークパケットキャプチャ分析ツール

Linuxネットワークパケットキャプチャ分析ツール

Aug 02, 2023 pm 03:23 PM
linuxパケットをキャプチャする


Linuxネットワークパケットキャプチャ分析ツール
#1 . tcpdump

1. 機能

tcpdump コマンドは、指定されたネットワーク インターフェイスを通過するデータ パケットのヘッダーを一覧表示し、指定されたネットワーク インターフェイス上で送信されたデータ パケットの「ヘッダー」を完全に削除できます。ネットワークをキャプチャし、分析を提供します。ネットワーク層、プロトコル、ホスト、ネットワーク、またはポートのフィルタリングをサポートし、有用な情報の抽出に役立つ and や or、not などの論理ステートメントを提供します。

ネットワークインターフェースをプロミスキャスモードに設定する必要があるため、一般ユーザーは通常実行できませんが、root権限を持つユーザーは直接実行してネットワーク上の情報を取得できます

その他のパケット キャプチャ ツール

  • wireshark にはグラフィカル バージョンとコマンド ライン バージョンの両方があり、 tcpdump によってキャプチャされたパケットを分析できます。主な機能はデータ パケットを分析することです。

  • ngrep は、キャプチャしたパケット データをテキスト形式で直接表示します。これは、テキストを含むパケット データ (HTTP、MySQL など) の [キャプチャ] 分析に適しています。

2. コマンド オプション

tcpdump [オプション] [プロトコル] [データ フローの方向] [スコープ]

  • -a ネットワーク アドレスとブロードキャスト アドレスを名前に変換します。

  • -A すべてのグループを ASCII 形式で出力し、ヘッダーを最小化します。リンク層

  • #-b ip/arp/rarp/ipx を含むデータリンク層の選択されたプロトコルはすべてこの層にあります

  • -c データ パケットを受信する回数を指定します。つまり、指定された数のデータ パケットを受信したら tcpdump を終了します。

  • -d 人間の情報パケットのコードと一致します。 -readable 形式アセンブリ形式の出力

  • -dd 一致情報パケットのコードを C 言語プログラムセグメントの形式で出力します。

  • -ddd 一致情報パケットのコードを C 言語プログラムセグメントの形式で出力します。 10 進形式

  • -D システムで監視できるすべてのネットワーク インターフェイスを出力します。

  • -e データ リンク層のヘッダー情報を出力します。出力行

  • -f 外部インターネット アドレスを数値形式で出力します。つまり、ホスト名は表示されません。

  • -F指定されたファイルから式を読み取り、他の式を無視します。

  • -i リッスンするネットワーク インターフェイスを指定します。

  • -l 標準出力をバッファリングします。フォーム、データをファイルにエクスポートできます

  • -L ネットワーク インターフェイスの既知のデータ リンクをリストします

  • -n ネットワーク アドレスは変換しませんto names

  • -N はホスト名のドメイン名部分を出力しません。たとえば、www.baidu.com は www

  • のみを出力します。 -nn はポート名を出力しません。 変換

  • -P ネットワーク インターフェイスをプロミスキャス モードに設定しません

  • -q 高速出力。は、少ないプロトコル情報のみを出力します

  • -r 指定されたファイルからデータを読み取り、通常は -w ファイルを保存します

  • -w キャプチャしたファイルを保存します情報はファイルに保存され、解析や画面への出力は行われません。

  • -s は、デフォルトの 68 バイトではなく、最初に各グループから snaplen バイトを読み取ります。

  • -S tcp シーケンス番号を相対値ではなく絶対値として出力します。

  • -T 監視対象のパケットを指定されたメッセージ タイプに直接解析します。一般的なタイプには rpc が含まれます。 (リモート プロシージャ コール) および snmp (簡易ネットワーク管理プロトコル)

  • #-t 出力の各行にタイムスタンプを出力しません

  • - tt 各行にフォーマットされていないタイムスタンプを出力します。

  • -ttt この行と前の行との時間差を出力します。

  • -tttt タイムスタンプを出力します。各行のデータ処理のデフォルト形式

  • ##-u デコードされていない NFS ハンドルを出力
  • -v もう少し詳細な情報を出力します。たとえば、 ip パッケージには ttl およびサービス タイプ情報を含めることができます
  • -vv 信頼できるメッセージ情報を出力します

3. tcpdump 式

データ型に関するキーワード

ホストを含​​む、ポート、ネット:

host 192.168.100.1 はホストを表し、net 192.168.100.0 はネットワーク セグメントを表します。port 80 はポート番号が 80 であることを示します。データ型を指定しない場合は、デフォルトは hostです。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

データ送信方向のキーワード

src、dst、dst または src、dst、および src が含まれます。これらのキーワードは送信の方向を示します。たとえば、src 192.168.100.1 は、データ パケットの送信元アドレスが 192.168.100.1 であることを示します。 dst net 192.168.100.0 は、宛先ネットワーク アドレスが 192.168.100.0 であることを示します。デフォルトでは、ホストに対するホストの src と dst を監視します。つまり、デフォルトでは、ローカル マシンとターゲット ホストのすべてのデータを監視します。 .
プロトコル キーワード

ip、arp、rarp、udp

を含む

其他关键字

  • 运算类型:or、and、not、!

  • 辅助功能型:gateway、less、broadcast、greater

4、tcpdump 捕获方式

tcpdump [协议类型] [源或目标] [主机名称或 IP] [or/and/not/! 条件组合] [源或目标] [主机名或 IP] [or/and/not/! 条件组合] [端口] [端口号] …… [or/and/not/! 条件组合] [条件]

> tcpdump  ip dst 192.168.10.1 and src 192.168.10.10 and port 80 and host  !www.baidu.com

tcpdump

默认监听在第一块网卡,监听所有经过此网卡的数据包

Linuxネットワークパケットキャプチャ分析ツール
> tcpdump  -i  ens33

监听指定网卡 ens33 的所有传输数据包

Linuxネットワークパケットキャプチャ分析ツール
> tcpdump -i ens33 host 192.168.100.10

捕获主机 192.168.100.10 经过网卡 ens33 的所有数据包(也可以是主机名,但要求可以解析出 IP 地址)

Linuxネットワークパケットキャプチャ分析ツール

Linuxネットワークパケットキャプチャ分析ツール

  • 第一列:报文的时间

  • 第二列:网络协议 IP

  • 第三列:发送方的 ip 地址、端口号、域名,上图显示的是本机的域名,可通过 / etc/hosts 查看本机域名

  • 第四列:箭头 >, 表示数据流向

  • 第五列:接收方的 ip 地址、端口号、域名,

  • 第六列:冒号

  • 第七列:数据包内容,报文头的摘要信息,有 ttl、报文类型、标识值、序列、包的大小等信息

> tcpdump host 192.168.130.151 and  192.168.130.152or192.168.130.153192.168.130.152or192.168.130.153

捕获主机 192.168.56.209 和主机 192.168.56.210 或 192.168.56.211 的所有通信数据包

> tcpdump ip host node9 and not www.baidu.com

捕获主机 node9 与其他主机之间(不包括 www.baidu.com)通信的 ip 数据包

> tcpdump ip host node9 and ! www.baidu.com

捕获 node9 与其他所有主机的通信数据包(不包括 www.baidu.com)

> tcpdump -i ens33 src node10

捕获源主机 node10 发送的所有的经过 ens33 网卡的所有数据包

> tcpdump -i ens33 dst host www.baidu.com

捕获所有发送到主机 www.baidu.com 的数据包

监听主机 192.168.56.1 和 192.168.56.210 之间 ip 协议的 80 端口的且排除 www.baidu.com 通信的所有数据包:

> tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host ! baidu.com

也可以写成 tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host not www.baidu.com,即 not 和!都是相同的取反的意思

> tcpdump arp

监控指定主机的通信数据包与 1.9.1 方式相同

> tcpdump tcp port 22 and host 192.168.56.210

捕获主机 192.168.56.210 接收和发出的 tcp 协议的 ssh 的数据包

tcpdump udp port 53

监听本机 udp 的 53 端口的数据包,udp 是 dns 协议的端口,这也是一个 dns 域名解析的完整过程

5、常用的过滤条件

tcpdump 可以支持逻辑运算符

and: 与运算,所有的条件都需要满足,可用 “and”和 “&&” 表示
or:或运行,只要有一个条件满足就可以,可用 “or” 和“|”表示
not:取反,即取反条件,可以用 “not” 和“!”表示

> tcpdump icmp and src 192.168.100.10 -i ens33 -n

过滤 icmp 报文并且源 IP 是 192.168.100.10

多条件格式
    在使用多个过滤条件进行组合时,有可能需要用到括号,而括号在 shell 中是特殊符号,又需要使用引号将其包含。用括号的主要作用是逻辑运算符之间存在优先级,!>and > or, 为例条件能够精确所以需要对一些必要的组合括号括起来,而括号的意思相当于加减运算一样,括起来的内容作为一个整体进行逻辑运算。

过滤源地址是 192.168.100.1 并且目的地址是 192.168.20.20 的数据包或者 ARP 协议的包。另外,搜索公众号Linux就该这样学后台回复“Linux”,获取一份惊喜礼包。

Linuxネットワークパケットキャプチャ分析ツール

> tcpdump **src** host 192.168.10.10 -i ens33 -n -c 5

过滤源 IP 地址是 192.168.10.10 的包

Linuxネットワークパケットキャプチャ分析ツール

> tcpdump **dst** host 192.168.10.10 -i ens33 -n -c 5

过滤目的 IP 地址是 192.168.10.10 的包

Linuxネットワークパケットキャプチャ分析ツール

基于端口进行过滤

> tcpdump port 22 -i ens33 -n -c 5  
> 过滤端口号为 22 即 ssh 协议的
Linuxネットワークパケットキャプチャ分析ツール
>  tcpdump portrange 22-433 -i ens33 -n -c 8

过滤端口号 22-433 内的数据包

Linuxネットワークパケットキャプチャ分析ツール

二、wireshark

1、什么是 wireshark

Wireshark 是一个网络封包分析软件。网络封包分析软件的功能是捕获网络数据包,并尽可能显示出最为详细的网络封包资料。Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换

2、安装 wireshark

Linux 中有两个版本的 wireshark,一个是 wireshark,这个版本是无图形化界面,基本命令是”tshark“。

一个是 wireshark-gnome(界面版本),这个版本只能安装在支持 GUI 功能的 Linux 的版本中。

> yum -y install wireshark // 安装无图形化版本  
> yum -y install wireshark-gnome // 安装图形化版本
Linuxネットワークパケットキャプチャ分析ツール
Linuxネットワークパケットキャプチャ分析ツール
Linuxネットワークパケットキャプチャ分析ツール

:这里的通过 yum 进行安装,需要提前做好 epel 源(即红帽操作系统额外拓展包),装上了 EPEL 之后,就相当于添加了一个第三方源。官方的 rpm repository 提供的 rpm 包也不够丰富,很多时候需要自己编译那太辛苦了,而 EPEL 可以解决官方 yum 源数据包不够丰富的情况。

安装epel源

>  yum -y install epel-release
Linuxネットワークパケットキャプチャ分析ツール

3、tshark 命令

tshark 是 wireshark 的命令行工具  
     tshark 选项 参数  
    -i:指定捕获的网卡接口,不设置默认第一个非环回口接口  
    -D:显示所有可用的网络接口列表  
    -f:指定条件表达式,与 tcpdump 相同  
    -s:设置每个抓包的大小,默认 65535,多于这个大小的数据将不会不会被截取。  
    -c:捕获指定数量的数据包后退出  
    -w:后接文件名,将抓包的结果输出到. pcap 文件中,可以借助其他网络分析工具进行分              析,也可以使用重定向 > 把解码后的输出结果以 txt 的格式输出。  
    -p:设置网络接口以非混合模式工作,即只关心和本机有关的流量  
    -r:后接文件路径,用于分析保持好的网络包文件,比如 tcpdump 的输出文件  
    -n:禁止所有地址名字解析,即禁止域名解析, 默认是允许所有  
   -N:指定对某一层的地址名字解析,如果 - n 和 - N 同时存在,则 - n 将被忽略,如果两者都不写,则会默认打开所有地址名字解析  
         m:代表数据链路层  
         n:代表网络层  
         t:代表传输层  
    -V:设置将解码结果的细节输出,否则解码结果仅显示一个 packet 一行的 summary  
    -t:设置结果的时间格式  
         ad:表示带日期的绝对时间  
         a:表示不带日期的绝对时间  
         r:表示从第一个包到现在的相对时间  
         d:表示两个相邻包之间的增量时间
tshark -f "icmp" -i ens33 -V -c 1

过滤 icmp 报文,并展开详细信息。另外,搜索公众号编程技术圈后台回复“1024”,获取一份惊喜礼包。

tshark -f "arp" -i ens33

过滤 arp 报文

Linuxネットワークパケットキャプチャ分析ツール
Linuxネットワークパケットキャプチャ分析ツール
#4. グラフィカル インターフェイス

Linuxネットワークパケットキャプチャ分析ツール
Linuxネットワークパケットキャプチャ分析ツール

Linuxネットワークパケットキャプチャ分析ツール

Linuxネットワークパケットキャプチャ分析ツール

3. Tcpdump と Wireshark は一緒に使用されます

Tcpdump は Wireshark の詳細を含まずにメッセージ情報を解析します, そのため、データは Tcpdump を通じてキャプチャおよび出力され、その後 Wireshark を通じて解析されます。出力ファイル形式は .pcap または other

です。

Linuxネットワークパケットキャプチャ分析ツール

仮想マシン上の Wireshark を読み込む

Linuxネットワークパケットキャプチャ分析ツール

Use ip.addr == [IP アドレス番号] OK フィルター無関係な IP

Linuxネットワークパケットキャプチャ分析ツール

グラフィックの読み取り

Linuxネットワークパケットキャプチャ分析ツール
##Wireshark で直接開いて表示

概要

tcpdump と Wireshark は、パケット キャプチャ機能という点では似ています。この 2 つのコマンド ライン オプションも同じですが、tcpdump にはパケットを分析する機能があります。あまり良いとは言えません。同時に、現在、多くの Linux システムには tcpdump ツールが組み込まれているため、tcpdump を使用してデータ パケットをキャプチャし、カスタマイズしたファイル (.pcap) に保存し、ファイルを抽出して Wireshark を使用して分析できます。

############## # #######

以上がLinuxネットワークパケットキャプチャ分析ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はLinux中文社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Linux操作:メンテナンスモードを利用しますLinux操作:メンテナンスモードを利用しますApr 19, 2025 am 12:08 AM

Linuxメンテナンスモードは、Grubメニューから入力できます。特定の手順は次のとおりです。1)GRUBメニューのカーネルを選択し、「E」を押して編集し、2)「Linux」行の最後に「シングル」または「1」を追加し、3)Ctrl Xを押して開始します。メンテナンスモードは、システム修理、パスワードリセット、システムのアップグレードなどのタスクに安全な環境を提供します。

Linux:リカバリモード(およびメンテナンス)に入る方法Linux:リカバリモード(およびメンテナンス)に入る方法Apr 18, 2025 am 12:05 AM

Linux Recoveryモードを入力する手順は次のとおりです。1。システムを再起動し、特定のキーを押してGrubメニューを入力します。 2。[RecoveryMode)でオプションを選択します。 3. FSCKやrootなどの回復モードメニューで操作を選択します。リカバリモードを使用すると、シングルユーザーモードでシステムを開始し、ファイルシステムのチェックと修理を実行し、構成ファイルを編集し、システムの問題を解決するのに役立ちます。

Linuxの重要なコンポーネント:初心者向けに説明されていますLinuxの重要なコンポーネント:初心者向けに説明されていますApr 17, 2025 am 12:08 AM

Linuxのコアコ​​ンポーネントには、カーネル、ファイルシステム、シェル、および共通ツールが含まれます。 1.カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。 2。ファイルシステムはデータを整理して保存します。 3.シェルは、ユーザーがシステムと対話するインターフェイスです。 4.一般的なツールは、毎日のタスクを完了するのに役立ちます。

Linux:その基本構造を見てくださいLinux:その基本構造を見てくださいApr 16, 2025 am 12:01 AM

Linuxの基本構造には、カーネル、ファイルシステム、およびシェルが含まれます。 1)カーネル管理ハードウェアリソースとUname-Rを使用してバージョンを表示します。 2)ext4ファイルシステムは、大きなファイルとログをサポートし、mkfs.ext4を使用して作成されます。 3)シェルは、BASHなどのコマンドラインインタラクションを提供し、LS-Lを使用してファイルをリストします。

Linux操作:システム管理とメンテナンスLinux操作:システム管理とメンテナンスApr 15, 2025 am 12:10 AM

Linuxシステムの管理とメンテナンスの重要な手順には、次のものがあります。1)ファイルシステム構造やユーザー管理などの基本的な知識をマスターします。 2)システムの監視とリソース管理を実行し、TOP、HTOP、その他のツールを使用します。 3)システムログを使用してトラブルシューティング、JournalCtlおよびその他のツールを使用します。 4)自動化されたスクリプトとタスクのスケジューリングを作成し、Cronツールを使用します。 5)セキュリティ管理と保護を実装し、iPtablesを介してファイアウォールを構成します。 6)パフォーマンスの最適化とベストプラクティスを実行し、カーネルパラメーターを調整し、良い習慣を開発します。

Linuxのメンテナンスモードの理解:必需品Linuxのメンテナンスモードの理解:必需品Apr 14, 2025 am 12:04 AM

Linuxメンテナンスモードは、起動時にinit =/bin/bashまたは単一パラメーターを追加することにより入力されます。 1.メンテナンスモードの入力:GRUBメニューを編集し、起動パラメーターを追加します。 2。ファイルシステムを読み取りおよび書き込みモードに再マウントします:Mount-Oremount、RW/。 3。ファイルシステムの修復:FSCK/dev/sda1などのFSCKコマンドを使用します。 4.データをバックアップし、データの損失を避けるために慎重に動作します。

DebianがHadoopデータ処理速度を改善する方法DebianがHadoopデータ処理速度を改善する方法Apr 13, 2025 am 11:54 AM

この記事では、DebianシステムのHadoopデータ処理効率を改善する方法について説明します。最適化戦略では、ハードウェアのアップグレード、オペレーティングシステムパラメーターの調整、Hadoop構成の変更、および効率的なアルゴリズムとツールの使用をカバーしています。 1.ハードウェアリソースの強化により、すべてのノードが一貫したハードウェア構成、特にCPU、メモリ、ネットワーク機器のパフォーマンスに注意を払うことが保証されます。高性能ハードウェアコンポーネントを選択することは、全体的な処理速度を改善するために不可欠です。 2。オペレーティングシステムチューニングファイル記述子とネットワーク接続:/etc/security/limits.confファイルを変更して、システムによって同時に開くことができるファイル記述子とネットワーク接続の上限を増やします。 JVMパラメーター調整:Hadoop-env.shファイルで調整します

Debian syslogを学ぶ方法Debian syslogを学ぶ方法Apr 13, 2025 am 11:51 AM

このガイドでは、Debian SystemsでSyslogの使用方法を学ぶように導きます。 Syslogは、ロギングシステムとアプリケーションログメッセージのLinuxシステムの重要なサービスです。管理者がシステムアクティビティを監視および分析して、問題を迅速に特定および解決するのに役立ちます。 1. syslogの基本的な知識Syslogのコア関数には以下が含まれます。複数のログ出力形式とターゲットの場所(ファイルやネットワークなど)をサポートします。リアルタイムのログ表示およびフィルタリング機能を提供します。 2。syslog(rsyslogを使用)をインストールして構成するDebianシステムは、デフォルトでrsyslogを使用します。次のコマンドでインストールできます:sudoaptupdatesud

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません