我正在尝试创建一个程序,它将在本地计算机上打开一个端口,让其他人通过netcat连接到它.我目前的代码是.
s = socket.socket()
host = '127.0.0.1'
port = 12345
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
print('Got connection from', addr)
c.send('Thank you for connecting')
c.close()
Run Code Online (Sandbox Code Playgroud)
我是Python和套接字的新手.但是当我运行此代码时,它将允许我使用命令发送netcat连接:
nc 127.0.0.1 12345
Run Code Online (Sandbox Code Playgroud)
但是在我的Python脚本上,我得到了c.send的错误:
TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)
我基本上只是试图打开一个端口,允许netcat连接并在该机器上有一个完整的shell.
我正在尝试在 Windows 7 中的 Run 键下创建一个新值。我使用的是 Python 3.5,但在写入该键时遇到问题。我当前的代码正在我尝试修改其值的键下创建一个新键。
from winreg import *
aKey = OpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Run", 0, KEY_ALL_ACCESS)
SetValue(aKey, 'NameOfNewValue', REG_SZ, '%windir%\system32\calc.exe')
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它会在运行下创建一个键并将其命名为“NameOfNewKey”,然后将默认值设置为 calc.exe 路径。但是,我想向 Run 键添加一个新值,以便在启动时,calc.exe 将运行。
编辑:我找到了答案。应该是SetValueEx函数而不是SetValue。