Linux netcat在本地主机上工作,但不在远程主机上工作

Linux netcat在本地主机上工作,但不在远程主机上工作,linux,netcat,Linux,Netcat,我在同一子网上有两台机器Machine1和Machine2。Machine1安装了一个返回一些数据的工具。例如,如果我运行以下命令,它将返回一些数据 printf "get:info\nend\n" | nc localhost 1234 但是,如果在Machine2上执行相同的操作,当然将localhost更改为machine1,则不会发生任何事情。知道有什么问题吗 printf "get:info\nend\n" | nc machine1 1234 在调查了很多之后,我终于找到了我无法

我在同一子网上有两台机器Machine1和Machine2。Machine1安装了一个返回一些数据的工具。例如,如果我运行以下命令,它将返回一些数据

printf "get:info\nend\n" | nc localhost 1234
但是,如果在Machine2上执行相同的操作,当然将localhost更改为machine1,则不会发生任何事情。知道有什么问题吗

printf "get:info\nend\n" | nc machine1 1234

在调查了很多之后,我终于找到了我无法在特定端口上与另一台机器通信的原因

我的machine1中的Iptables设置不允许machine1侦听。我关掉了iptables,一切正常

但是关闭iptables不是一个好主意。因此,在下一步中,我允许machine1使用端口1234

sudo iptables -A INPUT -p tcp --dport 1234 -j ACCEPT
您可以在以下链接上找到有关iptables的更多信息:

https://help.ubuntu.com/community/IptablesHowTo

在机器1上执行ss-tlnp | grep 1234。该工具是否比本地主机监听更多?当我执行上面提到的命令时,什么都没有发生。没有该端口的信息。请先执行ping。然后,如果正常,在机器2上运行tcpdump并检查是否建立了TCP连接