国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python端口掃描簡單程序

2019-11-25 16:29:52
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Python端口掃描的實現代碼,供大家參考,具體內容如下

獲取本機的IP和端口號:

import socket  def get_my_ip():   try:     csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)     csock.connect(('8.8.8.8', 80))     (addr, port) = csock.getsockname()     csock.close()     return addr,port   except socket.error:     return "127.0.0.1"  def int_to_ip(int_ip):   return socket.inet_ntoa(struct.pack('I', socket.htonl(int_ip)))   def ip_to_int(ip):   return socket.ntohl(struct.unpack("I", socket.inet_aton(str(ip)))[0])  (ip,port)=get_my_ip() print "ip=%s port=%d" %(ip,port) 

PortScan.py

#!/usr/bin/python # -*- coding: utf-8 -*-  import optparse 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')     results = connSkt.recv(100)     screenLock.acquire()     print '[+] %d/tcp open' % tgtPort     print '[+] ' + str(results)   except:     screenLock.acquire()     print '[-] %d/tcp closed' % tgtPort   finally:   screenLock.release()   connSkt.close()   def portScan(tgtHost, tgtPorts):   try:     tgtIP = gethostbyname(tgtHost)   except:     print "[-] Cannot resolve '%s': Unknown host" %tgtHost     return    try:     tgtName = gethostbyaddr(tgtIP)     print '/n[+] Scan Results for: ' + tgtName[0]   except:     print '/n[+] Scan Results for: ' + tgtIP    setdefaulttimeout(1)   for tgtPort in tgtPorts:     t = Thread(target=connScan,args=(tgtHost,int(tgtPort)))     t.start()  def main():   parser = optparse.OptionParser('usage %prog '+/    '-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] separated by comma')    (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() 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都江堰市| 准格尔旗| 黄浦区| 金门县| 延安市| 万安县| 石家庄市| 沛县| 安庆市| 隆德县| 唐山市| 迁西县| 文山县| 东兴市| 绥棱县| 土默特左旗| 彭泽县| 永济市| 鹿泉市| 丁青县| 阳春市| 广平县| 龙江县| 桂平市| 油尖旺区| 东方市| 承德市| 普洱| 崇文区| 遵化市| 广水市| 色达县| 宜兴市| 旬邑县| 启东市| 阿图什市| 玉山县| 乳源| 永济市| 灌云县| 武邑县|