Quand je lance ce code que je reçois cette erreur de socket:python3 portscanner ne peut pas résoudre la prise pr0blem
[WinError 10038] An operation was attempted on something that is not a socket
mais même si je supprime le s.close()
il me donne des résultats erronés.
Il est un scanner de port qui va essayer de vous connecter à tous les ports sur le serveur que je veux analyser. Et ceux dont j'obtiens la connexion sont stockés dans une liste. Mais pour une raison quelconque, cela me donne des résultats erronés. quelqu'un peut-il m'aider s'il vous plaît.
import socket
import threading
def scan_for_open_ports():
#Creating variables
OpenPorts = []
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = input('Host to scan: ')
global port
global OpenPorts
port = 1
#Scanning
for i in range(65534):
try:
s.connect((host, port))
s.shutdown(2)
OpenPorts.append(port)
print(str(port) + 'is open.')
s.close()
port += 1
except socket.error as msg:
print(msg)
s.close()
show_user()
def show_user():
#Giving the user results
print('------Open porst-----\n')
print(OpenPorts)
Merci cela a résolu le problème. – Hagge15
envisager d'accepter ma réponse si cela a fonctionné pour vous :) – danidee