如何将 cmd.exe 绑定到 Python 中的端口?我想做与 Netcats "-e" 参数相同的事情。所以 Netcat 中的等价物是:
netcat -l -p 8080 -e cmd.exe
但我想自己用 Python 编写代码,而不使用 Netcat。那么这是怎么做到的呢?是否有任何功能/模块可以做到这一点?如何转换进程(cmd.exe)并使其成为服务器,以便在端口上运行?
与此类似,除非您必须将其更改为在 Windows 上运行(此示例在 Linux 上运行良好):
#!/usr/bin/env python
import socket
import subprocess
s = socket.socket(socket.AF_INET)
s.setsockopt(socket.IPPROTO_IP, socket.SO_REUSEADDR, 1)
s.bind(("", 9999))
s.listen(1)
(conn, address) = s.accept()
p = subprocess.Popen(["/bin/bash"],
stdin=conn, stdout=conn, stderr=conn)
如果你运行这个程序,然后在另一个终端中使用 netcat 连接到端口 9999,你就会有一个 bash shell 可以玩。注意不要让整个互联网都访问这个端口,这会让任何人都可以在你的机器上即时访问 shell :-)