在dns劫持时如何检查dns解决libcurl的错误?

时间:2014-07-31 03:27:32

标签: dns libcurl

我在我的游戏客户端使用libcurl来检查url的dns是否正常

在正常情况下,我可以得到" CURLE_COULDNT_RESOLVE_HOST (6)" libcrul中的错误

但如果" DNS劫持",我将从IAP收到另一个错误网址。

因此,libcrul将获取错误网址内容并重新启动" curl_res==OK"

它很糟糕,而不是我的结果。

所以,我试图获得响应DNS来劫持DNS劫持,

curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, urlStr);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 5);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION,1);
res = curl_easy_perform(curl);               
curl_easy_getinfo(curl,CURLINFO_EFFECTIVE_URL,&response_url);

不幸的是,CURLINFO_EFFECTIVE_URL与我的requeset网址相同,我不知道为什么?

所以,你能给我一些关于这个的想法吗?

1 个答案:

答案 0 :(得分:0)

从libcurl的角度来看,这不是一个失败(如果后续转移本身也成功了)。它解析了一个名称并进行了转移,并且运行正常。

然后,您需要具有创造性,并找出一种方法来检测您是否被劫持者“欺骗”,例如从知道的主机名获取页面不应该存在。