summaryrefslogtreecommitdiff
path: root/sockets
diff options
context:
space:
mode:
authorjerome <jerome@xlinfo.fr>2025-10-14 00:36:03 +0200
committerjerome <jerome@xlinfo.fr>2025-10-14 00:36:03 +0200
commit07754820563e5e039cd1d5fc6cc10db480a22fee (patch)
tree11496a82f2b41248ff8c6a0d410be8e6aed3e05b /sockets
parent08a3900aa70b1d5809b2c5334ed3866117ac3286 (diff)
downloadpython-07754820563e5e039cd1d5fc6cc10db480a22fee.tar.gz
python-07754820563e5e039cd1d5fc6cc10db480a22fee.zip
organisation
Diffstat (limited to 'sockets')
-rw-r--r--sockets/scan.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/sockets/scan.py b/sockets/scan.py
new file mode 100644
index 0000000..91f3ad0
--- /dev/null
+++ b/sockets/scan.py
@@ -0,0 +1,26 @@
+import sys
+import socket
+import time
+
+def scan(host,*ports):
+ for port in ports:
+ s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.settimeout(2) # Set a 2-second timeout
+ addr_server=(host,int(port))
+ tentative=s.connect_ex(addr_server) #connect_ex renvoie 0 en cas de succès...
+ if tentative==0:
+ print(f"Le port {port} ouvert")
+ try:
+ print(s.recv(1024).decode().strip())
+ except TimeoutError:
+ pass
+ else:
+ print(f"Le port {port} fermé")
+ s.close()
+
+if __name__ == "__main__" :
+ try:
+ scan(sys.argv[1],*sys.argv[2:])
+ except:
+ print(f"{sys.argv[0]} demande un hôte et une liste de ports en arguments")
+