2017-06-26 26 views
0

我想从netcat获取输入,使用python脚本处理它并将处理后的数据发送回netcat。从netcat获取数据,处理它并将响应发送回netcat

我已经试过这样:

nc 10.0.0.2 4444 | python script.py 

我得到的输入python脚本,但输出是要在终端 ,而不是回netcat的服务器。 (连接是开放的,等待响应)

我的python脚本:

while True: 
    line = sys.stdin.readline() 
    sys.stdout.write("processed data") 

有没有从终端或bash脚本做这件事的呢?

+0

你不能这样做,因为管道('|')不允许双向通信。你应该看看一个名为'subprocess'的Python模块。 – ForceBru

+0

你可以直接用Python做网络通讯吗? “套接字”模块与netcat的功能相同:打开与特定地址和端口的连接,然后通过该连接发送和接收数据。 –

+0

使用'ncat --sh-exec ...'(这是'nmap'中的'ncat') –

回答

0

你只需要另一个重定向

nc 10.0.0.2 4444 | python script.py | nc 

xargs可能对您有帮助。