当运行netstat或snoop这样的命令时,我想不要反向查找,因为有些情况下,数字转换为名称时会转换为不同的数字,或者数字会转换为名称,从而转换为多个或不可预知的数字。
但是,我仍然想反向查找继续/ etc / hosts中的项目
我想如果它是像/etc/resolv.conf中的linux,你有条目
订购主机,绑定
主机首先尝试主机,如果/ etc / hosts没有成功,绑定是在dns上回退
一般来说,DNS设置在机器范围内。 你可以closures你的DNSparsing,过滤它,或者给出错误的答案 – 但我敢打赌,你不想这样做。 我认为你最好的答案是使用禁用的查找(例如, netstat -n )来运行它们,然后通过脚本检查/ etc / hosts并执行正确的replace。
netstat的选项,只是返回数字而不翻译它们,例如netstat -n将返回IP地址,端口,用户作为数字; netstat --numeric-hosts将翻译除IP地址以外的所有内容。
我读到snoop手册页,表明它确实捕获了IP地址,并且您需要通过-N标志运行捕获文件来获取主机名转换。 这表明您可能正在使用另一个依赖snoop的工具,它正在请求结果使用查找来获取主机名。
也许你的问题在命名这两个工具方面有点领先。 你能提供更多关于你在这里想要达到什么的信息吗? 也许你需要串起一堆命令来得到你想要的。 我认为大多数unixnetworking工具都有一个标志来切换查找。
如前所述,使用netstat -n禁用名称parsing。 当使用snoop捕获stream量时,相应的选项是snoop -r ,但是我相信它只会在OpenSolaris / Solaris 11 Express中出现,所以如果您使用Solaris 10或更早的版本,则可能无法使用。