traffic-analysislisted
Install: claude install-skill ryukyagamilight/terminal-skills
# 流量分析与抓包
## 概述
tcpdump、Wireshark、流量分析与网络诊断技能。
## tcpdump
### 基础用法
```bash
# 监听所有接口
tcpdump -i any
# 指定接口
tcpdump -i eth0
# 详细输出
tcpdump -v
tcpdump -vv
tcpdump -vvv
# 显示 ASCII
tcpdump -A
# 显示十六进制
tcpdump -X
tcpdump -XX
# 不解析主机名
tcpdump -n
# 不解析端口名
tcpdump -nn
```
### 过滤表达式
```bash
# 主机过滤
tcpdump host 192.168.1.100
tcpdump src host 192.168.1.100
tcpdump dst host 192.168.1.100
# 网段过滤
tcpdump net 192.168.1.0/24
# 端口过滤
tcpdump port 80
tcpdump src port 80
tcpdump dst port 443
tcpdump portrange 8000-9000
# 协议过滤
tcpdump tcp
tcpdump udp
tcpdump icmp
tcpdump arp
# 组合过滤
tcpdump 'host 192.168.1.100 and port 80'
tcpdump 'src 192.168.1.100 and dst port 443'
tcpdump 'tcp and (port 80 or port 443)'
tcpdump 'not port 22'
```
### 保存与读取
```bash
# 保存到文件
tcpdump -w capture.pcap
tcpdump -w capture.pcap -c 1000 # 限制包数
# 读取文件
tcpdump -r capture.pcap
tcpdump -r capture.pcap -nn
# 轮转文件
tcpdump -w capture-%H%M%S.pcap -G 3600 # 每小时
tcpdump -w capture.pcap -C 100 # 每 100MB
```
### 高级过滤
```bash
# TCP 标志
tcpdump 'tcp[tcpflags] & tcp-syn != 0'
tcpdump 'tcp[tcpflags] & tcp-rst != 0'
tcpdump 'tcp[tcpflags] == tcp-syn'
# HTTP 请求
tcpdump -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
# DNS 查询
tcpdump -i any 'udp port 53'
# 大包
tcpdump 'greater 1000'
tcpdump 'less 100'
```
## tshark (Wireshark CLI)
### 基础用法
```bash
# 安装
apt install tshark
# 监听
tshark -i eth0
# 指定过滤器
tshark -i eth0 -f "port 80"
# 显示过滤器
tshark -i eth0 -Y "http"
```
### 字