代码拉取完成,页面将自动刷新
同步操作将从 dulaladuladula/hbuComputerNetworkCourseProject-ScanPort 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#-*- coding:utf-8 -*-
#2105-03-25
Port = [80,21,23,22,25,110,443,1080,3306,3389,1521,1433]
Server = ['HTTP','FTP','TELNET','SSH','SMTP','POP3','HTTPS','SOCKS','MYSQL','Misrosoft RDP','Oracle','Sql Server']
result = []
import socket
import sys
import threading
import time
def get_remote_machine_info(Domain):
try:
return socket.gethostbyname(Domain)
except socket.error,e:
print '%s: %s'%(Domain,e)
return 0
def scan(Domain,port,server):
temp = []
try:
s = socket.socket()
print "Attempting to connect to "+Domain+': '+str(port)
s.connect((Domain,port))
temp.append(port)
temp.append(server)
result.append(temp)
s.close()
except:
pass
def output(Domain,IP):
if result:
print '\n'+Domain+': --> '+IP
print '\nThe Open Port:'
for i in result:
print Domain+': %4d -->%s'%(i[0],i[1])
else:
print 'None Port!'
def main():
print '''\nX-man Port Scan 2.0
payload:./Scan.py www.xxx.zzz'''
payload = sys.argv
IP = get_remote_machine_info(payload[1])
print '\n'
for port,server in zip(Port,Server):
t = threading.Thread(target=scan,args=(payload[1],port,server,)) #for循环创建线程,每个端口开一个线程
t.setDaemon(True) #将线程声明为守护线程,使其可快速退出
t.start()
time.sleep(0.1) #每个线程之间设置时间间隔,避免输出混乱
output(payload[1],IP)
if __name__=='__main__':
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。