【Linux】tcpdump抓包工具与wireshark介绍

😏*★,°* :.☆( ̄▽ ̄)/$:.°★ 😏

这篇文章主要介绍tcpdump抓包工具与wireshark介绍。
学其所用,用其所学。------梁启超

欢迎来到我的博客,一起学习,共同进步。

喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • [:smirk:1. tcpdump介绍](#:smirk:1. tcpdump介绍)
    • [:blush:2. tcpdump命令行工具](#:blush:2. tcpdump命令行工具)
    • [:satisfied:3. wireshark界面工具](#:satisfied:3. wireshark界面工具)
    • [:satisfied:4. 实践案例](#:satisfied:4. 实践案例)

😏1. tcpdump介绍

在分析网络流量和安全连接等问题时,离不开抓包工具的辅助。

tcpdump 是 Linux 上最经典、最强大的命令行网络抓包工具,可以捕获和分析网络流量,支持丰富的过滤表达式。

Wireshark 是目前最流行、功能最强大的网络协议分析器(界面抓包工具)。

😊2. tcpdump命令行工具

接口相关

cpp 复制代码
tcpdump -i eth0          # 指定网卡
tcpdump -i any           # 所有网卡
tcpdump -D               # 列出所有可用接口
tcpdump -i eth0 -p      # 非混杂模式(只抓本机流量)

输出控制

cpp 复制代码
tcpdump -n              # 不解析主机名(提高速度)
tcpdump -nn             # 不解析主机名和端口服务名
tcpdump -q              # 简洁输出
tcpdump -v              # 详细输出
tcpdump -vv             # 更详细输出
tcpdump -vvv            # 最详细输出
tcpdump -t              # 不打印时间戳
tcpdump -tttt           # 完整格式时间戳

捕获控制

cpp 复制代码
tcpdump -c 10           # 只抓10个包
tcpdump -s 0            # 抓完整包(默认96字节)
tcpdump -s 1500         # 抓取1500字节
tcpdump -w file.pcap    # 写入文件(二进制)
tcpdump -r file.pcap    # 从文件读取
tcpdump -C 10           # 文件最大10MB后轮转
tcpdump -W 5            # 最多保留5个文件
tcpdump -G 300          # 每300秒轮转文件
tcpdump -U              # 包立即写入(实时性)

显示格式

cpp 复制代码
tcpdump -e              # 显示链路层头部
tcpdump -A              # ASCII格式显示
tcpdump -X              # 十六进制+ASCII
tcpdump -XX             # 十六进制+ASCII(包含链路层)
tcpdump -l              # 行缓冲输出(配合管道)

主机过滤

cpp 复制代码
tcpdump host 192.168.1.1                # 源或目的IP
tcpdump src host 192.168.1.1            # 源IP
tcpdump dst host 192.168.1.1            # 目的IP
tcpdump host www.example.com            # 域名(会做DNS解析)
tcpdump net 192.168.1.0/24              # 整个网段

端口过滤

cpp 复制代码
tcpdump port 80                         # 端口80
tcpdump src port 1234                   # 源端口
tcpdump dst port 80                     # 目的端口
tcpdump portrange 1-1024                # 端口范围
tcpdump tcp port 443                    # TCP 443端口

协议过滤

cpp 复制代码
tcpdump arp                             # ARP协议
tcpdump icmp                            # ICMP协议
tcpdump tcp                             # TCP协议
tcpdump udp                             # UDP协议
tcpdump 'icmp or arp'                   # 多协议组合

包大小过滤

cpp 复制代码
tcpdump less 64                         # 包长小于64字节
tcpdump greater 1500                    # 包长大于1500字节
tcpdump length > 100                    # 包长大于100

TCP标志位过滤

cpp 复制代码
tcpdump 'tcp[tcpflags] & tcp-syn != 0'  # SYN包
tcpdump 'tcp[tcpflags] & tcp-ack != 0'  # ACK包
tcpdump 'tcp[tcpflags] & tcp-fin != 0'  # FIN包
tcpdump 'tcp[tcpflags] & tcp-rst != 0'  # RST包
tcpdump 'tcp[13] & 2 != 0'              # SYN包(13是TCP标志位偏移)

😆3. wireshark界面工具

cpp 复制代码
sudo apt install wireshark
sudo wireshark

抓包功能和tcpdump类似,界面显示更便于小白入手。另外也可以用tcpdump抓好包在wireshark中分析。

IP过滤

cpp 复制代码
ip.addr == 192.168.1.1           # 包含此IP(源或目的)
ip.src == 192.168.1.1            # 源IP
ip.dst == 8.8.8.8                # 目的IP
ip.src == 192.168.1.0/24         # 源网段
!(ip.addr == 192.168.1.1)        # 排除此IP

端口过滤

cpp 复制代码
tcp.port == 80                   # TCP端口(源或目的)
udp.port == 53                   # UDP端口
tcp.srcport == 8080              # TCP源端口
tcp.dstport == 443               # TCP目的端口
tcp.port in {80 443 8080}        # 端口列表

协议过滤

cpp 复制代码
http                             # HTTP协议
dns                              # DNS协议
icmp                             # ICMP协议
ssl or tls                       # SSL/TLS
!arp                             # 非ARP
tcp                              # TCP协议
udp                              # UDP协议

😆4. 实践案例

tcpdump

cpp 复制代码
# 抓取DNS查询和响应
tcpdump -i eth0 -n udp port 53

# 监控网络吞吐量
tcpdump -i eth0 -w - | pv -bert > /dev/null

wireshark

cpp 复制代码
tls.handshake.type == 1            # 客户端Hello
tls.handshake.type == 2            # 服务器Hello

以上。

相关推荐
Coder个人博客2 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
Doro再努力4 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp4 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
Doro再努力5 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene5 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
忧郁的橙子.5 小时前
02-本地部署Ollama、Python
linux·运维·服务器
醇氧5 小时前
【linux】查看发行版信息
linux·运维·服务器
No8g攻城狮6 小时前
【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤
linux·运维·ubuntu
XiaoFan0126 小时前
免密批量抓取日志并集中输出
java·linux·服务器
souyuanzhanvip6 小时前
ServerBox v1.0.1316 跨平台 Linux 服务器管理工具
linux·运维·服务器