OSError: [Errno 22] Invalid argument ошибка без особой причины
Вот код
from socket import *
serverPort = 8000
serverSocket = socket(AF_INET, SOCK_STREAM)
serverSocket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
serverSocket.bind(('', serverPort))
print("Attacker box listening and awaiting instructions")
connectionSocket, addr = serverSocket.accept()
print("Thanks for connecting to me "
+str(addr))
message = connectionSocket.recv(1024)
print(message)
command =""
while command != "exit":
command = input("Please enter a command: ")
connectionSocket.send(command.encode())
message = connectionSocket.recv(1024).decode()
print(message)
connectionSocket.shutdown(SHUT_RDWR)
connectionSocket.close()
Выдает 2 ошибки в синтаксисе ошибок нет
File "/home/kali/Desktop/shell/shellServer.py", line 7, in <module>
connectionSocket, addr = serverSocket.accept()
File "/usr/lib/python3.9/socket.py", line 293, in accept
fd, addr = self._accept()
OSError: [Errno 22] Invalid argument
Ответы (1 шт):
Автор решения: Stanford Martinez
→ Ссылка
Перед connectionSocket, addr = serverSocket.accept() вы забыли добавить serverSocket.listen(), и получается, что сервер не принимает никаких подключений и следовательно у Вас не создаётся connectionSocket.