Whois apnic问题

时间:2013-02-05 14:28:49

标签: whois

使用以下代码进行whois查找:

public static string LookUp(string ip, string whoisServer){
    string buff = string.Empty;
    string strDomain = ip + "\r\n";
    byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain);
    using (TcpClient tcp = new TcpClient(whoisServer, 43)) {
       using (Stream tcpStream = tcp.GetStream) {
          using (StreamReader objSR = new StreamReader(tcpStream, Encoding.ASCII)) {
            tcpStream.Write(arrDomain, 0, strDomain.Length);
            buff = objSR.ReadToEnd;
          }
       }
    }
    return buff;
   }
除了whois.apnic.net之外,

工作正常(成熟,arin,lacnic,afrinic)。使用Wireshark我注意到apnic不断增加发送相同的响应。

有谁知道这是为什么?

此外,为什么分配给apnic(103.31.186.82)的IP地址指向位于拉脱维亚的“ISP”的罗马尼亚?

1 个答案:

答案 0 :(得分:0)

你以一个\ r \ n顺序喂食:

string strDomain = ip + "\r\n";

试着喂一个\ n:

string strDomain = ip + "\n";

或只是一个\ r:

string strDomain = ip + "\r";

某些whois服务器只响应自己的行结束和/或回车而不是通常的配对,并且它确实依赖于服务器上运行的操作系统。

在不同平台上处理文本文件时大致相同,Windows机器通常倾向于使用双线结尾,Linux / Unix变体......各种各样: - )

另外

有很多原因,但ISP的总部/总部可能位于拉脱维亚,而您用于提供地理信息的查询工具使用的记录中的地址是HQ,而物理IP链接是实际上在你期望的地理区域。