-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# linux 网络工具 | ||
|
||
## tcpdump | ||
|
||
tcpdump虽然名称带有tcp, 但是它不只是用于tcp, 而是支持所有协议. | ||
|
||
tcpdump参数 | ||
|
||
```txt | ||
-l:使标准输出变为缓冲行形式; | ||
-c:抓包次数; | ||
-nn:直接以 IP 及 Port Number 显示,而非主机名与服务名称; | ||
-s :<数据包大小> 设置每个数据包的大小; | ||
-i:指定监听的网络接口; | ||
-r:从指定的文件中读取包; | ||
-w:输出信息保存到指定文件; | ||
-a:将网络地址和广播地址转变成名字; | ||
-d:将匹配信息包的代码以人们能够理解的汇编格式给出; | ||
-e:在输出行打印出数据链路层的头部信息; | ||
-f:将外部的Internet地址以数字的形式打印出来; | ||
-t:在输出的每一行不打印时间戳; | ||
-v :输出稍微详细的报文信息;--vv则输出更详细信息。 | ||
``` | ||
|
||
tcpdump 通过表达式过滤报文, 如果没有任何表达式, 将抓取所有的报文. 表达式支持的关键字 | ||
|
||
1. host | ||
|
||
> 表示主机地址, host 192.168.1.1 表示抓取192.168.1.1的报文 | ||
2. net | ||
> net 192.168.1.0/24 表示抓取192.168.1.0/24网段的报文 | ||
3. port | ||
> port 80 表示抓取80端口的报文 | ||
4. dst | ||
> dst 192.168.1.1 表示抓取192.168.1.1作为目的地的报文 | ||
5. src | ||
> src 192.168.1.1 表示抓取192.168.1.1作为源地的报文 | ||
6. ip | ||
> ip 表示抓取所有ip报文 | ||
7. arp | ||
> arp 表示抓取arp报文 | ||
8. tcp | ||
> tcp 表示抓取tcp报文 | ||
9. udp | ||
> udp 表示抓取udp报文 | ||
10. icmp | ||
> icmp 表示抓取icmp报文 | ||
11. and | ||
> and 表示与操作, 例如 host 192.168.1.1 and port 80 表示抓取192.168.1.1作为源地, 80端口的报文 | ||
12. or | ||
> or 表示或操作, 例如 host 192.168.1.1 or port 80 表示抓取192.168.1.1作为源地, 80端口的报文或者 192.168.1.1作为目的地, 80端口的报文 | ||
13. ! | ||
> ! 表示非操作, 例如 !host 192.168.1.1 表示抓取不是192.168.1.1的报文 | ||
使用 | ||
|
||
```bash | ||
tcpdump -i any # 抓取所有报文 | ||
``` | ||
|
||
```bash | ||
tcpdump -i eth0 # 抓取eth0网卡报文 | ||
``` | ||
|
||
```bash | ||
tcpdump -i eth0 -w /tmp/tcpdump.pcap # 抓取eth0网卡报文, 并保存到/tmp/tcpdump.pcap | ||
``` | ||
|
||
```bash | ||
tcpdump -r /tmp/tcpdump.pcap # 从/tmp/tcpdump.pcap文件中读取报文 | ||
``` | ||
|
||
```bash | ||
tcpdump -ttttnnvvS # 详细输出 | ||
``` | ||
|