国产探花免费观看_亚洲丰满少妇自慰呻吟_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() 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 寻乌县| 和龙市| 七台河市| 三明市| 靖边县| 瑞昌市| 陵川县| 响水县| 仙居县| 磐石市| 固安县| 鲁甸县| 盐边县| 孟州市| 咸宁市| 彰武县| 双鸭山市| 郧西县| 台东市| 璧山县| 泰来县| 罗江县| 遂川县| 沧州市| 高碑店市| 鄂温| 佛山市| 平舆县| 永新县| 类乌齐县| 曲阜市| 鸡东县| 厦门市| 祁阳县| 大关县| 炉霍县| 阳信县| 邮箱| 北宁市| 垦利县| 防城港市|