编程教育资源分享平台

网站首页 > 后端开发 正文

linux tcpdump抓包工具使用 | 收藏起来

luoriw 2024-02-01 14:25:55 后端开发 10 ℃ 0 评论


什么是tcpdump?

TCPdump是一个网络抓包工具,用于捕获和分析网络数据包。它可以在计算机网络上监听和记录传输的数据包,帮助网络管理员和安全专家分析网络流量、故障排除、网络性能优化以及网络安全审计等任务。

通过TCPdump,用户可以捕获特定网络接口上的数据包,并将其保存到文件中以供后续分析。它支持多种过滤条件,可以根据源IP地址、目标IP地址、端口号、协议类型等进行过滤,以便用户只关注特定的网络流量。

TCPdump提供了详细的数据包信息,包括源IP地址、目标IP地址、端口号、协议类型、数据包大小、时间戳等。这些信息对于网络故障排除、网络性能分析和网络安全审计非常有用。


tcpdump命令使用指南

root@bsp:/home/bsp-server# tcpdump --help

tcpdump version 4.99.1

libpcap version 1.10.1 (with TPACKET_V3)

OpenSSL 3.0.2 15 Mar 2022

Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count]

[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]

[ -i interface ] [ --immediate-mode ] [ -j tstamptype ]

[ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ]

[ -r file ] [ -s snaplen ] [ -T type ] [ --version ]

[ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]

[ --time-stamp-precision precision ] [ --micro ] [ --nano ]

[ -z postrotate-command ] [ -Z user ] [ expression ]


tcpdump常用命令

1. 捕获指定网络接口的所有数据包:

```

sudo tcpdump -i eth0

```

2. 捕获指定网络接口的前100个数据包:

```

sudo tcpdump -i eth0 -c 100

```

3. 捕获指定网络接口的所有TCP数据包:

```

sudo tcpdump -i eth0 tcp

```

4. 捕获指定网络接口的所有UDP数据包:

```

sudo tcpdump -i eth0 udp

```

5. 捕获指定网络接口的所有ICMP数据包:

```

sudo tcpdump -i eth0 icmp

```

6. 捕获指定网络接口的所有HTTP流量:

```

sudo tcpdump -i eth0 port 80

```

7. 捕获指定网络接口的所有HTTPS流量:

```

sudo tcpdump -i eth0 port 443

```

8. 捕获指定网络接口的所有SSH流量:

```

sudo tcpdump -i eth0 port 22

```

9. 捕获指定网络接口的所有DNS流量:

```

sudo tcpdump -i eth0 port 53

```

10. 捕获指定网络接口的所有ARP流量:

```

sudo tcpdump -i eth0 arp

```

11. 捕获指定网络接口的所有IPv6流量:

```

sudo tcpdump -i eth0 ip6

```

12. 捕获指定网络接口的所有来自特定IP地址的数据包:

```

sudo tcpdump -i eth0 src <source_ip>

```

13. 捕获指定网络接口的所有发往特定IP地址的数据包:

```

sudo tcpdump -i eth0 dst <destination_ip>

```

14. 捕获指定网络接口的所有源端口号为特定值的数据包:

```

sudo tcpdump -i eth0 src port <source_port>

```

15. 捕获指定网络接口的所有目标端口号为特定值的数据包:

```

sudo tcpdump -i eth0 dst port <destination_port>

```

16. 捕获指定网络接口的所有源IP地址和目标IP地址都为特定值的数据包:

```

sudo tcpdump -i eth0 src <source_ip> and dst <destination_ip>

```

17. 捕获指定网络接口的所有源IP地址或目标IP地址为特定值的数据包:

```

sudo tcpdump -i eth0 src <source_ip> or dst <destination_ip>

```

18. 捕获指定网络接口的所有源IP地址不是特定值的数据包:

```

sudo tcpdump -i eth0 not src <source_ip>

```

19. 捕获指定网络接口的所有目标IP地址不是特定值的数据包:

```

sudo tcpdump -i eth0 not dst <destination_ip>

```

20. 捕获指定网络接口的所有数据包,并将结果保存到文件中:

```

sudo tcpdump -i eth0 -w capture.pcap

```

21. 读取保存的数据包文件并进行分析:

```

sudo tcpdump -r capture.pcap

```

22. 捕获指定网络接口的所有数据包,并将结果以十六进制和ASCII格式显示:

```

sudo tcpdump -i eth0 -XX

```

23. 捕获指定网络接口的所有数据包,并显示每个数据包的时间戳:

```

sudo tcpdump -i eth0 -tttt

```

24. 捕获指定网络接口的所有数据包,并显示每个数据包的源和目标MAC地址:

```

sudo tcpdump -i eth0 -e

```

25. 捕获指定网络接口的所有数据包,并显示每个数据包的IP头部信息:

```

sudo tcpdump -i eth0 -n

```

26. 捕获指定网络接口的所有数据包,并显示每个数据包的详细信息:

```

sudo tcpdump -i eth0 -v

```

27. 捕获指定网络接口的所有数据包,并显示每个数据包的TCP流信息:

```

sudo tcpdump -i eth0 -A tcp

```

28. 捕获指定网络接口的所有数据包,并显示每个数据包的UDP流信息:

```

sudo tcpdump -i eth0 -A udp

```

29. 捕获指定网络接口的所有数据包,并显示每个数据包的ICMP流信息:

```

sudo tcpdump -i eth0 -A icmp

```

30. 捕获指定网络接口的所有数据包,并显示每个数据包的DNS流信息:

```

sudo tcpdump -i eth0 -A port 53

```

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表
最新留言