问题标签 [gethostbyname]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1062 浏览

dns - gethostbyname() 检索到的 IP 地址与连接到的浏览器不同

我编写了一个测试程序来捕获给定域名的数据包。我使用 gethostbyname() 来检索 IP 地址,并使用 pcap 来捕获发往该 IP 地址的数据包。pcap_loop() 计数设置为 -1,因此它应该继续捕获。

理论上,从我的电脑发送到该 IP 地址的所有数据包都将被捕获,无论该域名是通过 Web 浏览器访问还是仅通过 ping 它,对吗?

经测试,虽然很多网站都是这样,但是对于google或者ebay这样的高流量网站是不适用的。这意味着如果我 ping 从 gethostbyname() 检索到的 IP 地址,程序将捕获 ping 数据包,但如果我在 firefox 上访问 google.com,则不会捕获任何数据包。这表明同一域名(如 google.com)可能有不同的 IP 地址。

如果是这样,为什么 DNS 服务器为 google.com 返回不同的 ips 而其他的却是相同的?来自 gethostbyname() 的请求和来自 Web 浏览器的请求之间有什么不同(如果有的话)?

提前致谢。

0 投票
1 回答
209 浏览

c - 嵌入式软件系统中的netdb.h gethostbyname 函数?

我正在为不在操作系统上运行的系统编写嵌入式 C 软件。我希望能够使用 netdb.h 的 gethostbyname() 函数。据我了解,它所属的任何库都包含在 Linux 操作系统中。是否可以将该库包含到我的项目中?还是依赖于操作系统?

如果我可以包含它,我在哪里可以获得完整的库?

0 投票
1 回答
277 浏览

php - 当Web主机DNS服务器仅返回IP时PHP通过主机验证百度搜索引擎

我在声称是百度搜索引擎的用户代理上尝试了以下 IP 地址。不幸的是,Just Host 的 DNS 服务器拒绝返回除主机 IP 地址之外的任何内容。

关于如何获取百度主机名的任何建议?如果可能的话,我考虑过尝试引用特定的 DNS 服务器,尽管我不确定如何使用 PHP 来做到这一点。


引用我的本地主机结果的输出...

主机:baiduspider-180-76-5-168.crawl.baidu.com

服务器:Wireless_Broadband_Router.home 地址:192.168.1.1 名称:baiduspider-180-76-5-168.crawl.baidu.com 地址:180.76.5.168

0 投票
2 回答
1473 浏览

php - gethostbyname() 在域验证时显示奇怪的结果

这是我使用 gethostbyname() 验证域名的代码。

这工作正常,直到我在本地主机上使用它。

一旦我将它上传到我的服务器上,gethostbyname() 也开始返回未知域名的 IP 地址。

我的测试用例是:-

1)www- 它返回 184.173.134.234

2)google.coma- 它返回 67.215.65.132

3) google.comaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa过过 -'它'返回'67.215.65.132'

发生的一件更有趣的事情是,对于这些相同的域名,当我在本地主机上运行它们时。这个相同的函数返回无效。

任何帮助,将不胜感激 :)

0 投票
0 回答
492 浏览

windows-8 - 如何更改 h_addr_list 中 ipv4 地址列表的顺序?

h_addr_list 返回我系统上的 IPv4 地址列表(物理和虚拟适配器)。列表的填充顺序与 ipconfig /all 列出它们的顺序一致。如果我在控制面板中更改适配器的顺序,我可以看到 ipconfig /all 输出以及 h_addr_list 中的顺序也发生了变化。

我现在面临的问题是,在安装了 VMware 的几台 Windows 8 物理机上,当我在控制面板中更改顺序时,h_addr_list 中的地址顺序并没有改变。顺序更改会影响 ipconfig /all 输出中适配器的顺序,但不会影响 h_addr_list 中的地址顺序。顺序对我很重要,因为我的应用程序返回在 h_addr_list 中找到的第一个 IPV4 地址。

请帮忙。

0 投票
1 回答
2185 浏览

windows - 如何更改 gethostbyname 返回的 IP 地址列表顺序?

我有一个调用 gethostbyname 并在 h_addr_list 中显示第一个 IP 地址的应用程序。在安装了 VMware 并具有多个虚拟适配器的机器上,我的应用程序始终返回其中一个虚拟适配器的 IP 地址。我总是希望我的应用程序给我物理适配器的 IP 地址。

因此,我想重新排序我的虚拟适配器,使物理适配器的 IP 地址在列表中排在第一位。我尝试了所有建议 -

http://support.microsoft.com/kb/171320

http://support.microsoft.com/kb/894564/en-us#appliesto

他们都没有工作。我也在进行更改后重新启动了系统。有没有其他方法可以更改网络适配器的顺序?假设没有,我如何通过我的代码确保我始终获得物理适配器的 IP 地址?

我的操作系统是 Windows 8。这是我的 ipconfig /all 输出 -

我的应用程序总是返回 192.168.5.1 而不是 172.26.82.152

请帮忙。

0 投票
1 回答
353 浏览

c - gethostbyname 一次失败永远不会成功

当我在没有网络的NDK应用程序中调用gethostbyname时,我打开wifi开关,再次用同一主机调用gethostbyname,它仍然失败,h_errno = 2。

为什么会这样以及如何避免。

0 投票
1 回答
86 浏览

c - 验证电子邮件域的更好方法?

我有一小段 C 代码从提供的字符串中提取电子邮件域,然后对其进行主机查找。它看起来相当简单,并且有效。但是,这是否可以进一步简化,或者做得更好?感谢观看。

0 投票
1 回答
2587 浏览

python - gethostbyname_ex(hostname) 非常慢

在启动时,IPython (qtconsole) 调用socket.gethostbyname_ex(socket.gethostname())[2]以查找指向机器的 IP 地址列表。在我管理此调用的 Linux 服务器上,速度非常慢(> 20 秒)......我很难理解,因为它ip addr show似乎几乎立即给出了相同的信息。我能做些什么来加快速度吗?这可能是网络配置问题(我在路由器后面)吗?

此问题与 IPython 无关:

谢谢。

0 投票
0 回答
284 浏览

c - gethostbyname 和 portno 作为数组

我正在开发 IDE Momentics Tool 中的服务器客户端应用程序。
这是服务器部分:

我正在尝试创建portno = atoi(IP[2]);一组端口和server = gethostbyname(IP[1]);一组 IP 地址。

我正在像这样启动我的服务器部分:

所以我必须同时通过多个端口向多个 IP 发送数据?