dns抓包有没有一起干的

我有一个想法不知道能不能实现
就是1.搭建dns服务器,把所有dns解析请求都返回同一个ip
2.用服务器做一个软件,实时获取用户发送过来的请求包,记录下来,
3.然后再以这个请求包通过官方dns请求一次,
4.获取返回并且再回显到请求者那里
这样子应该可以实现抓包
我的思路有没有问题

第一点,谁用你的DNS服务器。第二点,HTTPS如何破。

软件开发快问快答

我的意思是,我抓自己设备的包因为有一些东西有防抓包,然后https的话应该没什么问题,设备跟服务器的通讯是https,但是服务器可以获取明文的请求数据,然后再用明文的请求数据再通过官方的https进行请求,然后获取明文返回再回显
但是这样子我的服务器想要拿到https证书有点麻烦

这是中间人的意思吗

19 Likes

就是说让本地的网站都使用服务器的证书?但是有些网站它是内嵌证书的

是吗,那就没办法实现了哎

你不懂https啊。。

刚刚去恶补了一下,确实没办法弄

https强加密,连gfw都看不到你的明文流量

还有,我记得有两个dns加密的技术,doh和dot,好像是这两个,一个是dns over tls,一个是over https

无感抓包?我逛吾爱的时候见过这样的例子,利用DNS劫持特定域名,然后转发到FD代理

他意思应该是自签证书 然后信任

1 Like

你这可以搞 不过毫无必要 因为成本太高了
你你的做法:服务器搞bind nginx反代截取数据 自签证书 安装证书 然后设备到你的nginx用自签证书解密 发给网站 再折腾回来
实际上用clash那个局域网代理 再加上Wireshark 或者其他东西抓包 本地就能实现 开发还更简单
代理服务器填成你笔记本ip就可以
因为你的目的是抓包 不是做个李鬼网站给设备显示

1 Like

浏览器会检查证书的,你这样子要么证书不可信,要么证书和域名不匹配

解决方法是在本地安装根证书

那不就是抓包软件的做法吗?

妹子还熬夜 对皮肤不好哦

1 Like

1,dns 劫持是可以实现的,但是你作为中间人的那台服务器实例上只是一个到目标服务器的 DIRECT 代理,是无法解密 HTTPS 流量的(抓包 HTTP 没问题)
2,如果你在中间人上搭建一个 fake server 从而在中间人上完成 TLS 认证以获取解密后的 HTTPS 数据的话,那么你需要解决证书校验问题
2.1,自己签发一张劫持网站的证书(自签证书不可信,需要手动在客户端安装对应的根证书,这是目前抓包软件中常见的处理方案)
2.2,通过 CA 签发一张证书(成本太高,参考 CNNIC 事件)
3,即使你搞定第二步中证书伪造,但是有些应用中的 HTTPS 并不仅仅依赖系统根证书进行认证,而是设置了证书固定,此时你需要考虑如何如何伪造一张对应的证书(还不如直接考虑去客户端动点手脚)

你这种抓包和 charles有啥区别 都是中间人模式,客户端或者服务器验证证书都会失败

https://blog.seeflower.dev/archives/207/
基于透明代理的这种办法挺好使的,你们可以看看

如何破解网站的证书固定?

3 Likes