netcat可以收听远程计算机的端口吗?

时间:2011-11-02 06:54:25

标签: sockets unix netcat

我将我的脚本输出转发到系统中的本地端口 -

$ python script.py | nc 127.0.0.1 8033

我们假设我的电脑有ip 10.0.0.3

现在,是否有可能其他一些计算机(比如IP 10.0.0.4)可以通过nc或其他任何方式监听此端口。请建议。

2 个答案:

答案 0 :(得分:1)

不直接。侦听端口的程序必须位于本地计算机上(在您的示例中表示10.0.0.3)。您可以安排本地计算机上的程序监听并将信息发送到另一台计算机,但只能在主机上建立套接字连接。

答案 1 :(得分:0)

我使用Perl来做到这一点 - 当然可以使用python。

在Perl中,我使用IO::Socket::INET库。

我使用INETIPport实例化Protocol的新实例,以及comms的超时时间。然后我使用recv方法从该套接字读取数据。

它不像nc那么简单;我希望NC做到这一点 - 这会容易得多:)

这是实际Perl的概述


my $data;
my socket;

$socket=IO::Socket::INET->new( PeerAddr => 10.0.0.3, PeerPort-> 8033, Proto => "tcp", Timeout => 1 ) or die "Unable to open port";

$socket->recv($data,bytes_to_read); # Put your chosen read size in stead of bytes_to_read
print $data;