好的,所以基本上我决定尝试构建一个基本的端口扫描器。这是我的代码:
(上面还有更多,但觉得这里粘贴太多了)
##Print port menu
print "-"*60
print "Specify ports"
print "-"*60
print """
1)Use default list
2)Specify your own port list\n"""
print"-"*60
menu2=raw_input("Please choose an option\n")
##Define default port list
default_list="21, 22,23, 24, 25, 80, 110, 135, 139, 443, 445, 553, 3306, 3389, 8080"
##Set port list to default if option "1" is chosen
if menu2 == "1":
port_list='default_list'
##Request user port list if option "2" is chosen
if menu2 == "2":
port_list=raw_input("Please enter the ports you would like scanned.\neg. 22, 23\n")
print "Ok, here we go"
for i in str(port_list):
connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
results = connection.connect_ex(ip + i)
哪个对我来说看起来不错,但是当我运行它时,我收到一个错误“AF_INET 地址必须是元组,而不是 str”我不确定哪一部分是问题?是我的默认端口字符串抛出错误吗?还是我的IP地址格式有问题?我尝试了一些我的设备 IP 地址,但总是得到同样的错误。