为什么 telnet 8.8.8.8 443 不通,但 nslookup -port=443 www.youtube.com 8.8.8.8 却成功,而且-port=任何端口时 nslookup 都能成功
1
YuZiOvO 2 天前 via Android
telnet 建立 tcp 连接,dns 用的是 udp
|
2
v2guy 2 天前
nslookup 主要用于域名解析,默认使用 53 端口,不能直接指定端口。
|
3
busier 1 天前 via iPhone
完全是不同的两件事情
8.8.8.8 上没有 https server ,但是有 dns server 在运行 对于-port 参数 ,Windows 在某些旧系统(如 Windows 7/10 部分版本)可能存在 bug ,导致忽略该设置(仍使用 53 端口) |
4
Lentin 1 天前 via iPhone
|
5
titanium98118 1 天前
443 端口是 DOH ,nslookup 不支持;
8.8.8.8 的 53 端口能支持 tcp 查询: dig +tcp @8.8.8.8 google.com ; <<>> DiG 9.18.39-0ubuntu0.22.04.2-Ubuntu <<>> +tcp @8.8.8.8 google.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48017 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 166 IN A 74.125.24.100 google.com. 166 IN A 74.125.24.102 google.com. 166 IN A 74.125.24.113 google.com. 166 IN A 74.125.24.101 google.com. 166 IN A 74.125.24.139 google.com. 166 IN A 74.125.24.138 ;; Query time: 1 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) (TCP) ;; WHEN: Tue Dec 16 09:24:52 HKT 2025 ;; MSG SIZE rcvd: 135 |
9
vx007 OP @titanium98118 dig 也不支持 doh 吧
|
10
titanium98118 1 天前
@vx007 #9 不支持,但支持 TCP
|
11
vx007 OP @titanium98118 经测试:1 、telnet 可以成功连接国内 dns 443 端口,无法连接国外 dns 443 端口,说明国外 dns 443 端口被封;
2 、nslookup 指定端口 443 时能成功解析域名是因为 nslookup 不支持 doh 而直接忽略该参数而转用 53 端口); 3 、dig 同样不支持 doh ,指定 443 端口时解析失败。 |
12
titanium98118 1 天前 via Android
@vx007 你想表达什么意思?dig 不支持 doh,但支持 tcp 查询,我上一个回复已经贴上了 dig 的 tcp 查询结果
|
13
vx007 OP @titanium98118 就是这个意思,dig 和 nslookup 都只能测试 udp 和 tcp 协议上的域名解析
|