请教:tcpdump抓包,已知本端IP地址,本端的端口,对端的IP地址,对端的端口,如何抓包?
时间: 2024-11-25 20:13:25 浏览: 4
linux下抓包:tcpdump
要使用tcpdump基于特定条件抓取包,你可以结合上述两个示例命令来构造适合你的过滤器。假设你知道本端(源)IP地址`src_ip`,本端端口`src_port`,对端(目的)IP地址`dst_ip`,对端端口`dst_port`,你可以这样设置:
1. 如果你想抓取源IP和源端口对应,以及对端IP和端口的数据包,可以这样组合命令[^1]:
```shell
tcpdump "src host `echo $src_ip` and port $src_port and dst host `echo $dst_ip` and port $dst_port"
```
这里用到了bash的变量替换功能。
2. 如果你只想抓取SYN或FIN标志的数据包,且限制到本地网络,则可以添加额外的标志筛选:
```shell
tcpdump "tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and (src host `echo $src_ip` or dst host `echo $dst_ip`) and (port $src_port or port $dst_port) and net localnet"
```
记得将`$src_ip`、`$src_port`、`$dst_ip`和`$dst_port`替换为你实际的IP和端口号。运行这些命令时,你可能需要具有root权限以执行tcpdump。
阅读全文