jiutian123
2024-11-06 14:28 deepin
nsz@nsz-PC:~$ ping 140.82.116.4
PING 140.82.116.4 (140.82.116.4) 56(84) bytes of data.
64 bytes from 140.82.116.4: icmp_seq=1 ttl=46 time=344 ms
64 bytes from 140.82.116.4: icmp_seq=2 ttl=46 time=367 ms
64 bytes from 140.82.116.4: icmp_seq=6 ttl=46 time=289 ms
64 bytes from 140.82.116.4: icmp_seq=7 ttl=46 time=422 ms
64 bytes from 140.82.116.4: icmp_seq=8 ttl=46 time=445 ms
64 bytes from 140.82.116.4: icmp_seq=9 ttl=46 time=468 ms
64 bytes from 140.82.116.4: icmp_seq=10 ttl=46 time=491 ms
^C
--- 140.82.116.4 ping statistics ---
10 packets transmitted, 7 received, 30% packet loss, time 9069ms
rtt min/avg/max/mdev = 289.483/403.899/491.206/67.354 ms
Reply Like 0 View the author
为 DNS 解析打造一款可视化工具,或者说是基于可视化编写了一个 DNS 解析工具,提供默认已知的 DNS 服务器列表与域名列表,在不写任何命令和信息的情况下自动化处理 DNS 的解析并可视化结果。
在图中,以国内网络的状态进行的域名解析,并测试解析出来的 ip 是否可用,由此判断该域名的可访问性。
一开始测试的 DNS 服务器是国内知名厂商提供的,域名也只测试了三个,其中 github.com 在国内DNS的情况是可以解析出 ip 但 ip 的测试结果显示完全丢包,那么我的结论就是国内 DNS 完全污染,不管使用哪家 DNS 都无法访问 github.com。
后面我手动填写 DNS 服务器为 4.2.2.2,它解析的 github.com 域名对应的 ip 与国内解析的地址不同,并且 ip 的测试显示是0丢率,随后进行了10次立即ping,且10次结果都没有任何丢包。
其实到这里,你已经可以直接使用 4.2.2.1/4.2.2.2 来配置当前的 dns 解析服务。
本着用魔法,缔造普通人与 github 之前的桥梁,我们使用一些涉及到比较专业的操作(注意:非专业人谨慎操作)。
iptables 的内容
总共三表五链,三表是指 nat magle filter,五链是 INPUT PREROUTE FORWARD POSTROUTE OUTPUT
其中表包含链,链包含规则
查看 iptables 的规则
添加规则
删除规则
汇总
最后用 iptables 规则可视化看看这个规则
基于 streamlit 的可视化 DNS 解析:http://hk.shenmo.tech/DNS_Resolver