我将我的脚本输出转发到本地系统的本地端口 -netcat可以监听远程计算机的端口吗?
$ python script.py | NC 127.0.0.1 8033
让我们假设我的电脑有IP 10.0.0.3
现在,有没有可能是一些其他的计算机(IP说10.0.0.4)可以通过NC或其他任何监听到这个端口。请建议。
我将我的脚本输出转发到本地系统的本地端口 -netcat可以监听远程计算机的端口吗?
$ python script.py | NC 127.0.0.1 8033
让我们假设我的电脑有IP 10.0.0.3
现在,有没有可能是一些其他的计算机(IP说10.0.0.4)可以通过NC或其他任何监听到这个端口。请建议。
不直接。侦听端口的程序必须位于本地计算机上(在您的示例中为10.0.0.3)。您可以安排本地计算机上的程序侦听并将信息发送到另一台计算机,但只能在主机上建立套接字连接。
我使用Perl来做到这一点 - 当然你可以使用python。
在Perl中,我使用了IO::Socket::INET
库。
我实例的INET
一个新实例IP
,port
和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;
感谢乔纳森的轮廓,我也尝试提出的问题之前。除netcat之外还有哪些人可以收听远程端口?谢谢你的帮助。 –
否 - 套接字的设计是这样的,您的程序必须位于要打开它的机器上。 –
如果你的机器在子网上作为你的远程机器,你可以使用类似WireShark的东西来监视数据包。但是现在大多数网络都被切换了,这意味着你的机器只会收到明确指向它的数据包(和广播数据包),所以不可能在另一台计算机上窃听。你必须尝试看看。 –