gethostbyname \ getaddrinfo 解析域名IP地址不安全的原因

第 1 步:

        使目标域名指向假的服务器IP,格式如下:

假服务器IP地址 网站域名

        在 %Systemroot%\System32\Drivers\Etc\hosts 文件中写入: 

127.0.0.1 blog.csdn.net

 第 2 步:

        运行以下测试代码就会发现域名已被指向假的服务器IP地址, 会造成什么危害呢?导致软件轻易被破解,用户访问假的服务器后,导致用户数据被盗窃。

        测试代码:

	// ----解析域名IP测试开始----
	/*
		在 hosts 文件写入: 127.0.0.1 blog.csdn.com 后, 
		gethostbyname \ getaddrinfo 获得的 ip 地址将是 127.0.0.1, 这就是所谓的不安全的原因
	*/
	//WSADATA wsaData;
	//WSAStartup(MAKEWORD(2, 2), &wsaData);

	struct addrinfo *result = nullptr, *curr = nullptr;

	struct addrinfo hints = { 0 };
	hints.ai_family = AF_UNSPEC;
	hints.ai_socktype = SOCK_STREAM;
	hints.ai_protocol = IPPROTO_TCP;

	int nRet = getaddrinfo("blog.csdn.net", "443", &hints, &result);
	if (0 != nRet)
	{
		int nError = WSAGetLastError();
		CString szMSG;
		szMSG.Format(_T("getaddrinfo 调用失败, 错误代码: %d.\r\n"), nError);
		Log(szMSG);
		return;
	}

	char chIP[16];
	for (curr = result; curr != nullptr; curr = curr->ai_next) {
		inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), chIP, 16);
		Log(CString(chIP) + CString(_T("\r\n")));
	}
	freeaddrinfo(result);
	//WSACleanup();
	// ----解析域名IP测试结束----

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值