tcpdump 是一个很常用的网络包分析工具,可以用来显示通过网络传输到本系统的 TCP/IP 以及其他网络的数据包。tcpdump 使用 libpcap 库来抓取网络报,这个库在几乎在所有的 Linux/Unix 中都有。
tcpdump 可以从网卡或之前创建的数据包文件中读取内容,也可以将包写入文件中以供后续使用。必须是 root 用户或者使用 sudo 特权来运行 tcpdump。
在本文中,我们将会通过一些实例来演示如何使用 tcpdump 命令,但首先让我们来看看在各种 Linux 操作系统中是如何安装 tcpdump 的。
tcpdump 默认在几乎所有的 Linux 发行版中都可用,但若你的 Linux 上没有的话,使用下面方法进行安装。
使用下面命令在 CentOS 和 RHEL 上安装 tcpdump,
$ sudo yum install tcpdump*
使用下面命令在 Fedora 上安装 tcpdump:
$ dnf install tcpdump
在 Ubuntu/Debain/Linux Mint 上使用下面命令安装 tcpdump:
$ apt-get install tcpdump
安装好 tcpdump 后,现在来看一些例子。
运行下面命令来从所有网卡中捕获数据包:
$ tcpdump -i any
要从指定网卡中捕获数据包,运行:
$ tcpdump -i eth0
使用 -w 选项将所有捕获的包写入文件:
$ tcpdump -i eth1 -w packets_file
使用下面命令从之前创建的 tcpdump 文件中读取内容:
$ tcpdump -r packets_file
要获取更多的包信息同时以可读的形式显示时间戳,使用:
$ tcpdump -ttttnnvvS
要获取整个网络的数据包,在终端执行下面命令:
$ tcpdump net 192.168.1.0/24
要获取指定 IP 的数据包,不管是作为源地址还是目的地址,使用下面命令:
$ tcpdump host 192.168.1.100
要指定 IP 地址是源地址或是目的地址则使用:
$ tcpdump src 192.168.1.100 $ tcpdump dst 192.168.1.100
要查看某个协议的数据包,运行下面命令:
$ tcpdump ssh
要捕获某个端口或一个范围的数据包,使用:
$ tcpdump port 22 $ tcpdump portrange 22-125
我们也可以与 src 和 dst 选项连用来捕获指定源端口或指定目的端口的报文。
我们还可以使用“与” (and,&&)、“或” (or,|| ) 和“非”(not,!) 来将两个条件组合起来。当我们需要基于某些条件来分析网络报文是非常有用。
可以使用 and 或者符号 && 来将两个或多个条件组合起来。比如:
$ tcpdump src 192.168.1.100 && port 22 -w ssh_packets
“或”会检查是否匹配命令所列条件中的其中一条,像这样:
$ 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
当我们想表达不匹配某项条件时可以使用“非”,像这样:
$ tcpdump -i eth0 src port not 22
这会捕获 eth0 上除了 22 号端口的所有通讯。
我们的教程至此就结束了,在本教程中我们讲解了如何安装并使用 tcpdump 来捕获网络数据包。
以上是tcpdump 常用例子的详细内容。更多信息请关注PHP中文网其他相关文章!

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

Linux操作系统的核心是其命令行界面,通过命令行可以执行各种操作。1.文件和目录操作使用ls、cd、mkdir、rm等命令管理文件和目录。2.用户和权限管理通过useradd、passwd、chmod等命令确保系统安全和资源分配。3.进程管理使用ps、kill等命令监控和控制系统进程。4.网络操作包括ping、ifconfig、ssh等命令配置和管理网络连接。5.系统监控和维护通过top、df、du等命令了解系统运行状态和资源使用情况。

介绍 Linux是一个强大的操作系统,由于其灵活性和效率,开发人员,系统管理员和电源用户都喜欢。但是,经常使用长而复杂的命令可能是乏味的

Linux适用于服务器、开发环境和嵌入式系统。1.作为服务器操作系统,Linux稳定高效,常用于部署高并发应用。2.作为开发环境,Linux提供高效的命令行工具和包管理系统,提升开发效率。3.在嵌入式系统中,Linux轻量且可定制,适合资源有限的环境。

简介:通过基于Linux的道德黑客攻击数字边界 在我们越来越相互联系的世界中,网络安全至关重要。 道德黑客入侵和渗透测试对于主动识别和减轻脆弱性至关重要


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具