当运行 netstat 或 snoop 之类的命令时,我不想进行反向查找,因为在某些情况下,数字会转换为名称,而名称又会转换为不同的数字,或者数字会转换为名称,而名称又会转换为多个或不可预测的数字。
不过,我仍然希望继续对 /etc/hosts 中的项目进行反向查找
答案1
我认为如果它像 linux 中的 /etc/resolv.conf 一样,你就有条目
订购主机,绑定
hosts 是先尝试 hosts,bind 是如果 /etc/hosts 不成功则回退到 dns
答案2
作为一般规则,DNS 设置是机器范围的。您可以关闭 DNS 解析、过滤它或提供错误答案 - 但我敢打赌您不想这样做。我认为最好的答案是在禁用查找的情况下运行它们(例如),netstat -n
然后通过检查 /etc/hosts 并进行适当替换的脚本运行输出。
答案3
网络状态具有仅返回数字而不翻译它们的选项,例如netstat -n
将返回 IP 地址、端口、用户作为数字;netstat --numeric-hosts
将翻译除 IP 地址之外的所有内容。
我阅读 snoop 手册页后发现,它确实会捕获 IP 地址,您需要使用 -N 标志通过它运行捕获文件才能获得主机名转换。这表明您可能正在使用另一个依赖于 snoop 的工具,该工具请求结果使用查找来获取主机名。
也许你的问题在命名这两个工具时有点引导性。你能提供更多关于你在这里想要实现什么的信息吗?也许你需要将一堆命令串在一起才能得到你想要的结果。我认为大多数 unix 网络工具都有一个切换查找的标志。
答案4
如前所述,使用netstat -n
禁用名称解析。使用 snoop 捕获流量时的相应选项是snoop -r
,但是,我相信它只出现在 OpenSolaris/Solaris 11 Express 中,因此如果您使用 Solaris 10 或更早版本,则可能无法使用。