试图解决这个简单的脚本,没有运气。我得到的错误如下:
python renato_script.py
输入HOSTNAME ip:10.0.0.2
输入TCP / UDP端口:443
追踪(最近一次呼叫最后一次):
文件" renato_script.py",第8行,
如果是s.connect_ex((ip,port)):
TypeError:需要一个整数(得到str类型)
import socket
ip = input( "Enter HOSTNAME ip: ")
port = input ("Enter TCP/UDP port: ")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
if s.connect_ex((ip, port)):
print ("Port", port, "is closed")
else:
print ("Port", port, "is open")
答案 0 :(得分:0)
根据https://docs.python.org/3/library/socket.html,AF_INET地址族需要一个包含字符串IP地址和整数端口的元组。您的代码传递一个包含字符串IP地址和字符串端口的元组。修复非常简单,只需将端口转换为int,如下所示:
port = int(raw_input("Enter TCP/UDP port: "))
编辑:使用python 2时,你必须使用raw_input()而不是input()