我一直在试着在EDNS上做个测试。只需检查在使用EDNS扩展时返回的if是否最接近。
但是,如果我使用中国的IP查询,就会得到一个带有美国位置的IP。如下所示。
有什么想法吗?
curl -s http://ip-api.com/json/59.155.255.200 | jq
{
"as": "",
"city": "Xinzhuang (Minhang Qu)",
"country": "China",
"countryCode": "CN",
"isp": "zhuyuan road, Shanghai, China",
"lat": 31.0704,
"lon": 121.518,
"org": "zhuyuan road, Shanghai, China",
"query": "59.155.255.200",
"region": "",
"regionName": "Shanghai",
"status": "success",
"timezone": "Asia/Shanghai",
"zip": ""
}
./bin/dig/dig @8.8.8.8 www.google.com +client=59.155.255.200 +short
216.58.208.164
curl -s http://ip-api.com/json/216.58.208.164 | jq
{
"as": "AS15169 Google LLC",
"city": "Mountain View",
"country": "United States",
"countryCode": "US",
"isp": "Google",
"lat": 37.4192,
"lon": -122.0574,
"org": "Google",
"query": "216.58.208.164",
"region": "CA",
"regionName": "California",
"status": "success",
"timezone": "America/Los_Angeles",
"zip": "94043"
}
或者如果有更好的方法来测试从测试EDNS返回的IP位置,请告诉我。
谢谢,
发布于 2018-11-06 12:53:02
EDNS是一种支持DNS协议许多不同扩展的方法。您的问题具体涉及客户端子网选项,这只是EDNS可用于的许多功能之一。
客户端子网选项用于递归DNS服务器,以便将客户端IP地址与权威DNS服务器通信,这样权威DNS服务器可以使用往返时间较短的IP地址对客户端进行响应。
Google操作递归DNS服务器和权威DNS服务器。由Google操作的递归DNS服务器名为。
Google支持Google和权威服务器上的Client选项。因此,当客户端向Google发送www.google.com
查询时,从Google发送到谷歌权威DNS服务器的请求将包含一个客户端子网选项,其中包含客户端的IP地址(可能被截断)。
您所做的就是将选项发送到。这是没有意义的,因为这是客户端到递归DNS的请求,这不是client选项的目的。该选项用于从递归DNS到权威DNS之间的通信。
如果您将该请求发送到Google的权威DNS服务器之一,则会得到一个不同的结果,如本例所示:
$ dig +short +norecurse www.google.com @ns3.google.com
216.58.206.68
$ dig +short +norecurse +subnet=59.155.255.200 www.google.com @ns3.google.com
172.217.25.196
注意,当查询权威服务器时,该选项确实会产生影响。(注意,当引入该选项时,它在被重命名为+client
之前被命名为+subnet
,时间很短)
如果我们在ip-api.com
中查找那个IP地址,我们就会发现它被列为日本,我想这更接近你所期望看到的。
$ curl http://ip-api.com/json/172.217.161.68
{"as":"AS15169 Google LLC","city":"Chiyoda","country":"Japan","countryCode":"JP","isp":"Google","lat":35.694,"lon":139.754,"org":"Google","query":"172.217.161.68","region":"","regionName":"Tokyo","status":"success","timezone":"Asia/Tokyo","zip":"100-0001"}
因此,我们可以推断,ip-api.com
必须有其他数据源,而不仅仅是whois
,因为当我使用whois 172.217.161.68
时,我得到了以下信息:
OrgName: Google LLC
OrgId: GOGL
Address: 1600 Amphitheatre Parkway
City: Mountain View
StateProv: CA
PostalCode: 94043
Country: US
https://serverfault.com/questions/938560
复制相似问题