服务器 > 服务器 > Linux

Linux使用tcpdump进行网络分析详解

6人参与 2025-03-07 Linux

简介

tcpdump 是一个命令行数据包分析器,可实时捕获和检查网络流量。它通常用于网络故障排除、性能分析和安全监控。

安装

debian/ubuntu

sudo apt update && sudo apt install tcpdump -y

centos/rhel

sudo yum install tcpdump -y

macos

brew install tcpdump

基础语法

tcpdump [options] [filter]

示例用法

在默认接口上捕获数据包

实时捕获并显示网络数据包。

sudo tcpdump

列出可用网络接口

sudo tcpdump -d

输出示例

1. eth0
2. wlan0
3. lo

可以使用此列表中的接口名称来捕获特定接口上的数据包。

在特定接口上捕获数据包

sudo tcpdump -i eth0

限制捕获的数据包数量

仅捕获 10 个数据包然后停止

sudo tcpdump -c 10 -i eth0

将捕获的数据包保存到文件

sudo tcpdump -i eth0 -w capture.pcap

从文件读取数据包

sudo tcpdump -r capture.pcap

仅捕获特定协议

1.仅 tcp 数据包

sudo tcpdump -i eth0 tcp

2.仅 udp 数据包

sudo tcpdump -i eth0 udp

3.仅 icmp(ping)数据包

sudo tcpdump -i eth0 icmp

捕获特定主机的数据包

捕获来自/到 192.168.1.1 的流量

sudo tcpdump -i eth0 host 192.168.1.1

捕获特定端口上的数据包

1.捕获 http 流量(端口 80)

sudo tcpdump -i eth0 port 80

2.捕获 ssh 流量(端口 22)

sudo tcpdump -i eth0 port 22

从特定源或目标捕获数据包

1.仅捕获来自源 192.168.1.100 的数据包

sudo tcpdump -i eth0 src 192.168.1.100

2.仅捕获目的地址为 192.168.1.100 的数据包

sudo tcpdump -i eth0 dst 192.168.1.100

组合多个过滤器

在端口 443 (https) 上捕获往返于 192.168.1.100 的 tcp 流量

sudo tcpdump -i eth0 tcp and host 192.168.1.100 and port 443

以十六进制和 ascii 格式显示数据包

sudo tcpdump -x -i eth0

无需解析主机名即可捕获数据包

-n 选项可防止 dns 查找,从而提高性能

sudo tcpdump -n -i eth0

仅捕获数据包头(无有效负载)

-s 0 标志捕获完整的数据包而不是截断

sudo tcpdump -s 0 -i eth0

仅捕获 http 流量并显示内容

-a 选项以 ascii 格式打印数据包内容

sudo tcpdump -a -i eth0 port 80

以上就是linux使用tcpdump进行网络分析详解的详细内容,更多关于linux tcpdump网络分析的资料请关注代码网其它相关文章!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Nginx实现高并发的项目实践

03-07

Linux系统之authconfig命令的使用解读

03-07

Linux之权限管理解读

03-07

Linux进程控制方式

03-07

Linux如何实现批量注释

03-07

Tomcat的下载安装与使用教程

03-07

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论