nzhl

nzhl

V2EX 第 450689 号会员,加入于 2019-11-02 12:11:41 +08:00
nzhl 最近回复了
158 天前
回复了 nzhl 创建的主题 程序员 招募志愿者一起来翻译 solidity 设计模式
@estk 谁知道我不是呢 🫣
159 天前
回复了 nzhl 创建的主题 程序员 招募志愿者一起来翻译 solidity 设计模式
@Kumo31 可以直接先提个 issue 防止和别人做重复, 然后翻译好提 PR 就可以了
159 天前
回复了 shanhuse 创建的主题 程序员 计算机专业最重要一门课程是哪个?
年轻的时候可能会说是数学, 或者是什么算法, 操作系统, 编译原理, 现在的理解, 不好意思, 毫无疑问是英语
支持下, 看看代码学学 rust
2022-09-16 23:14:13 +08:00
回复了 nzhl 创建的主题 DNS 在 Linux 上开 clash tun 模式 clash 是怎么劫持 dns 的
那应该是下面一条 非闭环的走 1970566510, 然后

> ip route show table 1970566510
default dev utun proto unspec

一旦走到 1970566510 就相当于被 clash 接管了, 这个理解没错把兄弟 @wangyu17455
2022-09-16 22:55:43 +08:00
回复了 nzhl 创建的主题 DNS 在 Linux 上开 clash tun 模式 clash 是怎么劫持 dns 的
感谢兄弟 有点懂了 我好好领悟下
2022-09-16 22:49:28 +08:00
回复了 nzhl 创建的主题 DNS 在 Linux 上开 clash tun 模式 clash 是怎么劫持 dns 的
@wangyu17455 兄弟 我试了下 ip rule

> ip rule
0: from all lookup local
9500: from all to 198.18.0.0/16 lookup 1970566510
9510: from all ipproto icmp goto 9560
9520: not from all dport 53 lookup main suppress_prefixlength 0
9530: not from all iif lo lookup 1970566510
9540: from 0.0.0.0 iif lo uidrange 0-4294967294 lookup 1970566510
9550: from 198.18.0.1 iif lo uidrange 0-4294967294 lookup 1970566510
9560: from all nop
32766: from all lookup main
32767: from all lookup default

看着

9520: not from all dport 53 lookup main suppress_prefixlength 0
这一行有点像在拦截 53 ?
2022-09-16 22:44:50 +08:00
回复了 nzhl 创建的主题 DNS 在 Linux 上开 clash tun 模式 clash 是怎么劫持 dns 的
接上层,我其实好奇的就是这个对 DNS 的拦截是怎么做的, 因为 TUN 是 premium 的功能,只是功能开源了但是代码没开源。

我理解要拦截 DNS 有几个做法:
1. cat /etc/hosts

# Standard host addresses
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# This host address
127.0.1.1 nzhl-manjaro


2. cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 192.168.50.1 # 这是我的华硕路由器


3. 根据 5 楼的说法以及看他配置似乎确实是在监听 53 端口, 但是首先我发现 53 端口啥也没有

> sudo netstat -tlunp|grep 53
tcp 0 0 127.0.0.1:53000 0.0.0.0:* LISTEN 586/clash-core-serv
udp 0 0 0.0.0.0:34622 0.0.0.0:* 537/avahi-daemon: r
udp 0 0 224.0.0.251:5353 0.0.0.0:* 405557/chrome --ena
udp 0 0 224.0.0.251:5353 0.0.0.0:* 405557/chrome --ena
udp 0 0 224.0.0.251:5353 0.0.0.0:* 405599/chrome --typ
udp 0 0 224.0.0.251:5353 0.0.0.0:* 405599/chrome --typ
udp 0 0 0.0.0.0:5353 0.0.0.0:* 537/avahi-daemon: r
udp6 0 0 :::51972 :::* 537/avahi-daemon: r
udp6 0 0 :::5353 :::* 537/avahi-daemon: r
2022-09-16 22:36:25 +08:00
回复了 nzhl 创建的主题 DNS 在 Linux 上开 clash tun 模式 clash 是怎么劫持 dns 的
@wangyu17455 问题从 routing table 来看, 只有已经经过了 DNS 的劫持的流量 (198.18.0.0/16) 才会流入 clash 创建的网卡

下面是关闭然后开启 tun 模式系统路由表的变化, 只是新增了一条
198.18.0.0/16 dev utun proto kernel scope link src 198.18.0.1
看上去这条记录只拦截 198.18 网段, 应该在这之前有一层 DNS 劫持把流量导入到了这个网段

> ip route
// tun mode disable
default via 192.168.50.1 dev wlo1 proto dhcp src 192.168.50.132 metric 20600
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-befa72e4dba9 proto kernel scope link src 172.18.0.1 linkdown
192.168.50.0/24 dev wlo1 proto kernel scope link src 192.168.50.132 metric 600
> ip route
# tun mode enable
default via 192.168.50.1 dev wlo1 proto dhcp src 192.168.50.132 metric 20600
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-befa72e4dba9 proto kernel scope link src 172.18.0.1 linkdown
192.168.50.0/24 dev wlo1 proto kernel scope link src 192.168.50.132 metric 600
198.18.0.0/16 dev utun proto kernel scope link src 198.18.0.1
2022-09-16 19:11:42 +08:00
回复了 nzhl 创建的主题 DNS 在 Linux 上开 clash tun 模式 clash 是怎么劫持 dns 的
@aragakiyuii 为啥监听 0000 53 能起作用 不是默认会让访问 etc resolv 文件里面指定的 dns server 吗
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3417 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 00:44 · PVG 08:44 · LAX 17:44 · JFK 20:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.