在tcpdump命令中,使用"-v"选项可以输出更详细的包信息。下面举一个例子来说明使用"-v"和不使用"-v"选项的区别:
假设我们想要捕获目标主机 10.0.0.2 的所有TCP流量,可以运行以下命令:
```
sudo tcpdump -i eth0 tcp and host 10.0.0.2
```
这个命令会捕获目标主机的TCP流量,并输出每个数据包的简要信息,如下所示:
```
14:37:43.492294 IP 192.168.0.1.54657 > 10.0.0.2.80: Flags [S], seq 200615926, win 29200, options [mss 1460,sackOK,TS val 174859 ecr 0,nop,wscale 7], length 0
14:37:43.492326 IP 10.0.0.2.80 > 192.168.0.1.54657: Flags [S.], seq 1121190323, ack 200615927, win 28960, options [mss 1460,sackOK,TS val 2218974 ecr 174859,nop,wscale 7], length 0
14:37:43.492504 IP 192.168.0.1.54657 > 10.0.0.2.80: Flags [.], ack 1, win 229, options [nop,nop,TS val 174859 ecr 2218974], length 0
...
```
如果在命令中添加"-v"选项,可以输出更详细的包信息,如下所示:
```
sudo tcpdump -i eth0 -v tcp and host 10.0.0.2
```
这个命令会输出每个数据包的详细信息,包括源地址、目标地址、协议类型、源端口号、目标端口号、TCP标志等。例如:
```
14:37:43.492294 IP (tos 0x0, ttl 64, id 16202, offset 0, flags [DF], proto TCP (6), length 0)
192.168.0.1.54657 > 10.0.0.2.80: Flags [S], cksum 0x8e7d (correct), seq 200615926, win 29200, options [mss 1460,sackOK,TS val 174859 ecr 0,nop,wscale 7], length 0
14:37:43.492326 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 0)
10.0.0.2.80 > 192.168.0.1.54657: Flags [S.], cksum 0x62cb (correct), seq 1121190323, ack 200615927, win 28960, options [mss 1460,sackOK,TS val 2218974 ecr 174859,nop,wscale 7], length 0
14:37:43.492504 IP (tos 0x0, ttl 64, id 16203, offset 0, flags [DF], proto TCP (6), length 0)
192.168.0.1.54657 > 10.0.0.2.80: Flags [.], cksum 0xb1ce (correct), ack 1, win 229, options [nop,nop,TS val 174859 ecr 2218974], length 0
...
```
可以看到,使用"-v"选项后,输出的信息更加详细,包含了更多的字段和更多的信息。