日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python扫描端口脚本_Python端口扫描简单程序

發(fā)布時間:2025/4/16 python 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python扫描端口脚本_Python端口扫描简单程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

獲取本機的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 -p ')

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()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

總結(jié)

以上是生活随笔為你收集整理的python扫描端口脚本_Python端口扫描简单程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。