端口扫描器 Python 中的语法问题
Problem with a Syntax in Python on a port scanner
我正在尝试编码的端口扫描器有问题,它给我一个语法错误,让我给你看代码:
#!/usr/bin/python3
import socket
from termcolor import colored
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
socket.setdefaulttimeout(1)
host=input("[*] Inserisci l'indirizzo:")
def portscanner(port):
if socket.connect_ex((host, port)):
print (colored("[!!]La porta %d è aperta")% (port), 'red')
else:
print (colored("[+]La porta %d è chiusa")% (port), 'green')
for port in range(1,1000):
portscanner(port)
错误:
Traceback (most recent call last):
File "portscanner2.py", line 17, in <module>
portscanner(port)
File "portscanner2.py", line 12, in portscanner
if socket.connect_ex((host, port)):
AttributeError: module 'socket' has no attribute 'connect_ex'
不,那不是语法错误,那是属性错误。那些是不同的野兽。
There is no connect_ex
function in the socket
module; there is one on socket objects.
也就是说,您可能想要将其更改为sock.connect_ex()
(尽管您还应该记得在成功时关闭套接字),或者不初始化sock
一次,您可以使用 socket.create_connection()
尝试连接 TCP 套接字。
因为你用
初始化了它
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
您只需要将 socket
换成 sock
,这样就可以了!
if sock.connect_ex((host, port)):
我正在尝试编码的端口扫描器有问题,它给我一个语法错误,让我给你看代码:
#!/usr/bin/python3
import socket
from termcolor import colored
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
socket.setdefaulttimeout(1)
host=input("[*] Inserisci l'indirizzo:")
def portscanner(port):
if socket.connect_ex((host, port)):
print (colored("[!!]La porta %d è aperta")% (port), 'red')
else:
print (colored("[+]La porta %d è chiusa")% (port), 'green')
for port in range(1,1000):
portscanner(port)
错误:
Traceback (most recent call last):
File "portscanner2.py", line 17, in <module>
portscanner(port)
File "portscanner2.py", line 12, in portscanner
if socket.connect_ex((host, port)):
AttributeError: module 'socket' has no attribute 'connect_ex'
不,那不是语法错误,那是属性错误。那些是不同的野兽。
There is no connect_ex
function in the socket
module; there is one on socket objects.
也就是说,您可能想要将其更改为sock.connect_ex()
(尽管您还应该记得在成功时关闭套接字),或者不初始化sock
一次,您可以使用 socket.create_connection()
尝试连接 TCP 套接字。
因为你用
初始化了它sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
您只需要将 socket
换成 sock
,这样就可以了!
if sock.connect_ex((host, port)):