1
yingfengi 2018-02-11 08:54:26 +08:00 via Android
没记错的话,DNS 应该是 udp53 ?
劫持目的地址 udp53,指向自己搭的 |
2
fangdingjun 2018-02-11 08:54:44 +08:00
路由劫持
|
3
crazytroll 2018-02-11 09:16:32 +08:00 via iPhone
DNS 协议就是这样的 以最先回答的为准
|
4
leavic 2018-02-11 09:18:48 +08:00
udp 无连接可以劫持,本质就是抢答。
|
5
WuwuGin 2018-02-11 09:19:58 +08:00 via Android
而且没记错的话 DNS 也是随机应答的,正常情况下不会总是一台服务器应答。
|
6
p64381 OP @fangdingjun 这样的话 udp dst 53 的包就出不去了吧
|
7
mt7620 2018-02-11 09:34:34 +08:00
直接把所有发到 UDP 53 的包转发到自己的 DNS 服务器就好了,不用抢答这么麻烦。
|
8
iPhone8 2018-02-11 09:43:19 +08:00
感觉楼上计算机网络都学的特别好
|
9
zjcqoo 2018-02-11 09:44:44 +08:00
写个工具验证下就好了。注册个域名 ns 到自己服务器上,看看返回的结果后自己服务器上有没有日志。
|
10
mengdisheng 2018-02-11 09:54:39 +08:00
问个问题 是不是用 https2.0 的话运营商很难劫持?
|
11
q397064399 2018-02-11 09:55:41 +08:00
@iPhone8 #8
劫持的话 ,其实看原理吧, 公网只谈 IP 协议,NAT 的话 一般是 UDP 发出去,然后 只有对应的 IP 的 53 端口才能响应数据回来,简单的来讲是 本地 ip udp 3123 -> 远程 ip udp 53 ,远端 ip 只能 53 端口 往回发到本地的 3123, 远端换个 ip 或者换个端口 这个 NAT 就根本通不过 |
12
q397064399 2018-02-11 09:57:01 +08:00
@iPhone8 #8 所以总结的话 ,应该就是直接劫持了 IP 报文,然后伪造了一个 IP 报文
|
13
misaka19000 2018-02-11 10:29:38 +08:00 via Android
@mengdisheng https 还有 2.0 ?涨姿势了
|
14
mengdisheng 2018-02-11 10:32:44 +08:00
@misaka19000 写错了。。http2 好像防劫持跟 http2 没什么关系
|
15
jmhjhjhj 2018-02-11 10:33:35 +08:00 via Android
用 dnssec 岂不美哉
|
16
goofool 2018-02-11 10:42:20 +08:00
把 dns 请求重定向到自己的服务器上就行了
|
17
q397064399 2018-02-11 12:34:33 +08:00
@goofool #16 IP 报文 过不了 NAT,不光重定向,IP 报文的源地址 也要修改
|
18
q397064399 2018-02-11 12:36:43 +08:00
|
19
goofool 2018-02-11 14:01:15 +08:00 1
@q397064399 一般家用路由器都是 full cone,哪有过不去的
|
21
q397064399 2018-02-11 14:10:28 +08:00
@goofool #19 那不是路由器管理权限 也能监听 公网的 udp 端口了?
|
23
ytjfmv 2018-02-11 14:15:40 +08:00
@goofool 不管通过抢答还是伪造路由,做戏肯定做全套啊,除了 ttl 和响应时间间隔不屑于 /不能伪造,其它的和真的一样,才不管你什么类型 nat 呢
|
24
q397064399 2018-02-11 14:16:00 +08:00
@goofool #19 好吧,确实是我孤陋寡闻了,对 NAT 的模式 没了解清楚
|
25
shiina 2018-02-11 14:25:02 +08:00
@ytjfmv 青岛移动 dns 解析 nslookup www.youtube.com 8.8.8.8 永远是 127.0.0.1
@q397064399 赞同老哥的说法, 伪造了 IP 报文 我自己本地起了一个走 http 的 dns 解析服务, 凑活能上网了, 辣鸡移动 [doge] |
26
mt7620 2018-02-11 14:27:59 +08:00
我是这么劫持内网 DNS 请求的,下面 2 条规则应用到主路由上面,不然 chromecast 这种不走默认 DNS 的设备,会被污染。
iptables -t nat -I PREROUTING -i br0 -p udp -d 8.8.4.4 --dport 53 -j REDIRECT --to-ports 53 iptables -t nat -I PREROUTING -i br0 -p udp -d 8.8.8.8 --dport 53 -j REDIRECT --to-ports 53 |
27
p64381 OP |
30
flyingheart 2018-02-11 18:55:11 +08:00
@q397064399 大多数情况下运营商和路由器的 nat 都是不判断源 IP 的,不然可能会对某些 p2p 游戏造成一些困扰
你说的这种叫 Symmetric NAPT,现实中用的很少 |
31
q397064399 2018-02-11 23:16:00 +08:00
@flyingheart #30 好吧,很尴尬.. 确实孤陋寡闻了
|
32
dnsstudio 2018-11-10 21:59:12 +08:00 via Android
呵呵,那是缓存劫持。我以前就是 DNS 及 teamviewer 吧主
|