我是Python的新手(截至上周),我仍然掌握了基础知识,所以请原谅我所展示的任何无知。
作为我作业的一部分,我被要求制作一个基本的端口扫描仪,我必须包括的一个功能是检索当前机器上的插座列表。我一直在环顾四周,并设法拼凑了一段代码,允许我输入我想要扫描的机器的IP,但我想尝试制作它,以便它自动扫描它运行的任何一台机器。
elif (userChoice == "4"):
print("You selected " + userChoice)
try:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # s will be equal to the command looking for the IPV4 addresses
except socket.error:
sys.exit("Failed to create socket.") # error handling message to be printed to the console should a socket failed to be created
print("Socket created")
hostAddress = input("Please enter host address to scan - example 'www.server.com': ")
print ("You entered " + hostAddress )
try:
remoteIP = socket.gethostbyname(hostAddress)
except socket.gaierror:
sys.exit("Hostname could not be resolved exiting")
ret = input("Hit return to go back to the menu")
continue
print("IP address of " + hostAddress + ' is ' + remoteIP)
到目前为止,这是我的代码。如果有人能帮助我,或者告诉我,如果我朝着正确的方向前进,我将非常感激。
另外,如果我是一个菜鸟,如果有人有任何关于良好阅读材料的建议,以帮助我掌握基础知识,我将非常感激。
感谢。
答案 0 :(得分:0)
检查远程服务器上的开放端口 -
# For input hostAddress
remoteIP = socket.gethostbyname(hostAddress)
for port in range(1,1025):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((remoteIP, port))
if result == 0:
print("Port %s: Open"%port)
sock.close()
=> Port 80: Open