markdown 使用tcpdump通过TLS数据包捕获DNS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 使用tcpdump通过TLS数据包捕获DNS相关的知识,希望对你有一定的参考价值。

### 下载[tdns-client-proxy](https://ant.isi.edu/software/tdns/tdns-client-proxy/index.html)
wget https://ant.isi.edu/software/tdns/tdns-client-proxy/tdns-client-proxy-20151110.tar.gz

### 安装依赖
$ sudo yum install libevent-devel
$ sudo yum install ldns-devel
$ sudo yum install openssl-devel

tips: 这里主要一定要安装开发包,带devel的,不然可能会出现找不到头文件的错误

### 编译
```bash
$ make 直接编译就好
```

### 开始抓包
1. 开新终端,用tcpdump 监听网卡
```bash
$ ifconfig 查到网卡名字,我这里是eno16780032
$ tcpdump -i eno16780032 port 853 -w tdns.cap 限定网卡,端口,写入到tnds.cap
```
2. 设置dns代理
开新终端,借助tdns-client-proxy代理DNS流量
tdns-client-proxy 默认端口就是853,默认侦听127.0.0.1,文档在README.man里面
```bash
$ ./tdns-client-proxy -s 9.9.9.9 这里9.9.9.9 是支持tdns的dns服务器ip
```

3. 查询DNS 
开新终端,用dig 命令查询DNS
```bash
$ dig www.baidu.com @127.0.0.1 +short 查询baidu的dns,走127.0.0.1代理,显示简略信息
```

然后tcpdump那里就会有抓到的包了,用wireshark 打开,选择一条信息,右键追踪tcp流,即可

## 参考
[Privacy-Protecting Portable Router: Adding DNS-Over-TLS support to OpenWRT (LEDE) with Unbound](https://blog.cloudflare.com/dns-over-tls-for-openwrt/) wireshark数据包样子
[新的公共 dns 9.9.9.9 支持 DNS-over-TLS(T-DNS) - V2EX](https://www.v2ex.com/t/407341) 抓包流程

以上是关于markdown 使用tcpdump通过TLS数据包捕获DNS的主要内容,如果未能解决你的问题,请参考以下文章

markdown tcpdump dns #dns

TLS1.3抓包分析(1)——ClientHello

markdown certbot独立多个域#https #tls

markdown dns over tls vs naked #dns

tcpdump 常用例子

Linux使用tcpdump抓取网络数据包示例