Netcat 抛出 "getnameinfo: Temporary failure in name resolution" 错误

Netcat throws a "getnameinfo: Temporary failure in name resolution" error

当我运行以下命令时:nc -luvp 9090,我得到错误:getnameinfo: Temporary failure in name resolution

我浏览了互联网以寻找答案,但 none 个有效:

我找到了这个 link:https://unix.stackexchange.com/questions/504963/how-to-solve-a-temporary-failure-in-name-resolution-error 并尝试了投票最多的答案。我的结果:

我使用的是 NordVPN,它使用自己的 DNS 服务器。但是我尝试完全禁用它,但我得到了完全相同的结果。恐怕它弄乱了我的 DNS 配置文件 and/or 防火墙规则。

我对 Linux 有点陌生,感觉有点迷茫。

问题可能出在 DNS 解析器上。尝试更新 /etc/resolv.conf 中的 命名空间 ,如下所示。

nameserver 8.8.8.8

您似乎正在使用 systemd-resolved 作为您的 DNS 解析器,它似乎无法解析 0.0.0.0:

$ resolvectl query 0.0.0.0
0.0.0.0: resolve call failed: No appropriate name servers or networks for name found

$ host 0.0.0.0 127.0.0.53
Using domain server:
Name: 127.0.0.53
Address: 127.0.0.53#53
Aliases:

Host 0.0.0.0.in-addr.arpa not found: 2(SERVFAIL)

这是地址 netcat 试图解析但失败了(至少在我的测试中)。一种解决方案是通过在 /etc/hosts 中添加以下行来添加静态关联:

0.0.0.0    localhost

netcat 不应该因为这种无害的 DNS 故障而中止(它在使用 -n 开关或删除 -v 开关时有效)并且 systemd-resolved 可能不应该解析 0.0.0.0.

时发送 SERVFAIL