Skip to content

Commit

Permalink
feat: linux net tools
Browse files Browse the repository at this point in the history
  • Loading branch information
vxzyfx committed May 23, 2024
1 parent 5f3355b commit 1089bcb
Showing 1 changed file with 89 additions and 0 deletions.
89 changes: 89 additions & 0 deletions content/7.note/7.linux_net_tools.md
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 # 详细输出
```

0 comments on commit 1089bcb

Please sign in to comment.