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

首頁 > 編程 > Python > 正文

Python端口掃描簡單程序

2020-02-23 04:06:46
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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() 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辰溪县| 昭苏县| 高阳县| 邛崃市| 永福县| 庆阳市| 广宗县| 伽师县| 新绛县| 平陆县| 浦江县| 卓资县| 尤溪县| 富宁县| 宁乡县| 岱山县| 肥东县| 神池县| 延川县| 大田县| 屏边| 台南市| 徐州市| 东阿县| 太保市| 乳山市| 老河口市| 哈密市| 大竹县| 伊春市| 鲜城| 嫩江县| 中西区| 科技| 雷山县| 鸡西市| 金昌市| 大洼县| 河北省| 德阳市| 南漳县|