使用socket方式可以 connect 某个特定域名服务器吗?
使用socket方式可以 connect 某个特定的域名服务器吗?如连接北京地区的 202.106.196.115或202.106.0.20?
我使用scanner扫描这两个地址,发现都没有开放的端口.那么我们的域名解析是通过什么方式实现的呢?就是域名解析的过程是通过什么方式与域名服务器交互的?
[解决办法]
IPHostEntry ipHost = Dns.GetHostEntry("news.sina.com.cn");IPEndPoint serverAddress = new IPEndPoint(ipHost.AddressList[0], 80);Socket s = new Socket(m_ServerAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);s.Connect(serverAddress);
[解决办法]
using System.Net;
using System.Net.Sockets;
[解决办法]
发现都没有开放的端口
不一定没开放吧?可能只是不响应
DNS服务器会把你的域名请求'转'到对应的地址,
[解决办法]
域名服务:udp 53
[解决办法]
你的机器 本地连接 tcp/ip 指定DNS服务器,如果是自动,那上级路由里有,你的域名请求会被路由到那里。DNS服务器里保存有 域名--IP表 (你可以简单这么理解),根据表信息发到对应ip
[解决办法]
有个类似数据库的东东,里面存有IP地址表,然后根据你的网址,从后往前查,如news.sina.com,先查com,再查sina,再查news,然后就找到服务器地址了
[解决办法]
域名解析和能否访问是完全不同的,域名解析是通过你的DNS(或HOST文件)向你的DNS服务器去解析网站对应的IP.
就算这个网站宕机了,也不影响你访问域名而解析成IP,只是你连接不上而已.
[解决办法]