我刚刚发现我的 Arch Linux 安装有一个问题,我认为这很奇怪。为了说明这个问题,我将使用 netcat,但我编写的用于测试它的 ac 程序似乎也发生了同样的情况。
如果我像这样启动一个 netcat 监听器:
netcat -l 5656
该过程按预期工作,netcat 等待连接到它。如果我使用相应的 netcat 命令,我会得到以下结果:
$ netcat -v localhost 5656
localhost [127.0.0.1] 5656: Connection refused
如果我在另一台已通过 SSH 连接的计算机上启动侦听器,我可以通过 netcat 向其发送消息,但如果侦听器位于 Arch 计算机上,无论是在本地还是远程发送消息,我总是会收到连接被拒绝的消息。
编辑:
$ ifconfig lo
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 29243 bytes 2094780 (1.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 29243 bytes 2094780 (1.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 303 0 0 wlp2s0
192.168.8.0 0.0.0.0 255.255.255.0 U 303 0 0 wlp2s0
192.168.8.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0
192.168.8.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
$ ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.8.0 dev wlp2s0 proto kernel scope link src 192.168.8.7
local 192.168.8.7 dev wlp2s0 proto kernel scope host src 192.168.8.7
broadcast 192.168.8.255 dev wlp2s0 proto kernel scope link src 192.168.8.7
# Static table lookup for hostnames.
# See hosts(5) for details.
$ cat /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
答案1
因为有不同的实现。看来你可以尝试这个,在 debian 10 上运行:
服务器:
netcat -l -p 5656
客户:
netcat -v 127.0.0.1 5656
Hello
World
<ctrl-C>
所以看来网络不是问题,即使您已将相同的路由增加到表中的默认路由的三倍。
BTWnetcat
是作为链接实现的nc
。所以在 debian 中使用nc
或没有什么区别netcat
。