Maison > Tutoriel système > Linux > le corps du texte

Exemples courants de tcpdump

PHPz
Libérer: 2024-04-02 09:19:10
avant
828 Les gens l'ont consulté

tcpdump 常用例子

tcpdump est un outil d'analyse de paquets réseau très couramment utilisé qui peut être utilisé pour afficher TCP/IP et d'autres paquets de données réseau transmis à ce système via le réseau. tcpdump Utilisez la bibliothèque libpcap pour capturer les paquets réseau. Cette bibliothèque est disponible dans presque tous les Linux/Unix.

tcpdump peut lire le contenu de la carte réseau ou d'un fichier de paquet précédemment créé, ou écrire le paquet dans un fichier pour une utilisation ultérieure. Vous devez être root ou utiliser les privilèges sudo pour exécuter tcpdump.

Dans cet article, nous allons montrer comment utiliser la commande tcpdump à travers quelques exemples, mais voyons d'abord comment installer tcpdump dans divers systèmes d'exploitation Linux.

Installation

tcpdump est disponible par défaut dans presque toutes les distributions Linux, mais s'il n'est pas disponible sur votre Linux, utilisez la méthode ci-dessous pour l'installer.

CentOS/RHEL

Utilisez les commandes suivantes pour installer tcpdump,

sur CentOS et RHEL
$ sudo yum install tcpdump*
Copier après la connexion
Fedora

Utilisez la commande suivante pour installer tcpdump sur Fedora :

$ dnf install tcpdump
Copier après la connexion
Ubuntu/Debian/Linux Mint

Utilisez la commande suivante pour installer tcpdump sur Ubuntu/Debain/Linux Mint :

$ apt-get install tcpdump
Copier après la connexion

Après avoir installé tcpdump, regardons quelques exemples.

Démonstration de cas
Capturez les paquets de toutes les cartes réseau

Exécutez la commande suivante pour capturer les paquets de toutes les cartes réseau :

$ tcpdump -i any
Copier après la connexion
Capturez les paquets de la carte réseau spécifiée

Pour capturer les paquets d'une carte réseau spécifiée, exécutez :

$ tcpdump -i eth0
Copier après la connexion
Écrire les paquets capturés dans un fichier

使用 -w 选项将所有捕获的包写入文件:

$ tcpdump -i eth1 -w packets_file
Copier après la connexion
读取之前产生的 tcpdump 文件

使用下面命令从之前创建的 tcpdump 文件中读取内容:

$ tcpdump -r packets_file
Copier après la connexion
获取更多的包信息,并且以可读的形式显示时间戳

要获取更多的包信息同时以可读的形式显示时间戳,使用:

$ tcpdump -ttttnnvvS
Copier après la connexion
查看整个网络的数据包

要获取整个网络的数据包,在终端执行下面命令:

$ tcpdump net 192.168.1.0/24
Copier après la connexion
根据 IP 地址查看报文

要获取指定 IP 的数据包,不管是作为源地址还是目的地址,使用下面命令:

$ tcpdump host 192.168.1.100
Copier après la connexion

要指定 IP 地址是源地址或是目的地址则使用:

$ tcpdump src 192.168.1.100
$ tcpdump dst 192.168.1.100
Copier après la connexion
查看某个协议或端口号的数据包

要查看某个协议的数据包,运行下面命令:

$ tcpdump ssh
Copier après la connexion

要捕获某个端口或一个范围的数据包,使用:

$ tcpdump port 22
$ tcpdump portrange 22-125
Copier après la connexion

我们也可以与 srcdst 选项连用来捕获指定源端口或指定目的端口的报文。

我们还可以使用“与” (and&&)、“或” (or|| ) 和“非”(not!) 来将两个条件组合起来。当我们需要基于某些条件来分析网络报文是非常有用。

使用“与”

可以使用 and 或者符号 && 来将两个或多个条件组合起来。比如:

$ tcpdump src 192.168.1.100 && port 22 -w ssh_packets
Copier après la connexion
使用“或”

“或”会检查是否匹配命令所列条件中的其中一条,像这样:

$ tcpdump src 192.168.1.100 or dst 192.168.1.50 && port 22 -w ssh_packets
$ tcpdump port 443 or 80 -w http_packets
Copier après la connexion
使用“非”

当我们想表达不匹配某项条件时可以使用“非”,像这样:

$ tcpdump -i eth0 src port not 22
Copier après la connexion

这会捕获 eth0 上除了 22 号端口的所有通讯。

我们的教程至此就结束了,在本教程中我们讲解了如何安装并使用 tcpdump 来捕获网络数据包。


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:linuxprobe.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal