【问题标题】:Get data from netcat, process it and send the response back to netcat从 netcat 获取数据,对其进行处理并将响应发送回 netcat
【发布时间】:2017-06-26 20:50:14
【问题描述】:

我想从 netcat 获取输入,用 python 脚本处理它并将处理后的数据发送回 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 脚本执行此操作?

【问题讨论】:

  • 你不能这样做,因为管道 (|) 不允许双向通信。您可能应该研究一个名为 subprocess 的 Python 模块。
  • 能不能直接用Python做网络通信? socket 模块与 netcat 做同样的事情:打开一个到特定地址和端口的连接,然后通过该连接发送和接收数据。
  • 使用ncat --sh-exec ...(即ncat来自nmap

标签: python unix netcat


【解决方案1】:

你只需要另一个重定向

nc 10.0.0.2 4444 | python script.py | nc

xargs 可能对此有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 2022-10-19
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多