前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 主机端口扫描器

python 主机端口扫描器

作者头像
用户5760343
发布2019-07-31 15:44:07
6640
发布2019-07-31 15:44:07
举报
文章被收录于专栏:sktj

import optparse import socket from socket import * from threading import * screenLock =Semaphore(value=1) def connScan(tgtHost,tgtPort): try: connSkt = socket(AF_INET,SOCK_STREAM) connSkt.connect((tgtHost,tgtPort)) connSkt.send('ViolentPython\r\n'.encode('ascii')) result = connSkt.recv(100) screenLock.acquire() #执行一个加锁操作 print('[+] %d/tcp open'%tgtPort) print('[+] ' + str(result)) connSkt.close() except: screenLock.acquire() #执行一个加锁操作 print('[-] %d/tcp closed'%tgtPort) finally: #执行释放锁的操作,同时将socket的连接在其后关闭 screenLock.release() connSkt.close()

def portScan(tgtHost,tgtPorts): try: tgtIP = gethostbyname(tgtHost) except: print("[-] Cannot resolve '%s' : Unknown host"%tgtHost) return

代码语言:javascript
复制
try:  
    tgtName = gethostbyaddr(tgtIP)              
    print('\n[+] Scan Results for: ' + tgtName[0])
except:  
    print('\n[+] Scan Results for: ' + tgtIP)  

setdefaulttimeout(1)  

for tgtPort in tgtPorts:  
    print('Scanning port' + tgtPort)  
    connScan(tgtHost,int(tgtPort))  

def main(): parser = optparse.OptionParser("[*] Usage : ./portscanner.py -H <target host> -p <target port>") parser.add_option('-H',dest='tgtHost',type='string',help='specify target host') parser.add_option('-p',dest='tgtPort',type='string',help='specify target port[s]') (options,args) = parser.parse_args() tgtHost = options.tgtHost tgtPorts = str(options.tgtPort).split(',') if (tgtHost == None) | (tgtPorts[0] == None): print(parser.usage) exit(0) portScan(tgtHost,tgtPorts)

if name == 'main': main()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.07.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档