欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python腳本寫端口掃描器socket,python-nmap

 更新時間:2022年07月22日 17:16:27   作者:mb62d3c286f15ed???????  
這篇文章主要介紹了利用Python腳本寫端口掃描器socket,python-nmap,文章圍繞主題展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下

前言:

一個用python寫的簡單的端口掃描器,python環(huán)境為 3.7.0,windows系統(tǒng)

Socket模塊編寫

掃描給定主機是否開放了指定的端口

TCP連接掃描是利用TCP的三次握手來確定主機的端口是否開放。確定主機端口開放之后,給端口發(fā)送消息,接收端口返回的消息,然后判斷該端口運行的服務(wù)。

使用時,-H 參數(shù)可以提供主機的域名或者ip地址,-p/-P 寫要掃描的端口,多個端口用逗號分隔

# -*- coding: utf-8 -*-
import optparse
from socket import *
import threading
threadLock=threading.Lock() #實例化threadLock對象
def connScan(Host,Port):
try:
conn=socket(AF_INET,SOCK_STREAM)
conn.connect((Host,Port))
conn.send('test message'.encode("utf-8")) #發(fā)送測試信息給端口
results=conn.recv(100) #接收主機返回的信息
threadLock.acquire() #加鎖
print('[+]%d/tcp open'% Port)
print('[+] '+results.decode("utf-8"))
conn.close()
except Exception as e:
threadLock.acquire()
print(e)
print('[-]%d/tcp closed'% Port)
finally:
threadLock.release() #釋放鎖
conn.close()
def portScan(Host,Ports):
try:
IP=gethostbyname(Host) ##獲得對應主機的ip地址
except:
print("[-] Cannot resolve '%s':Unknown host" %Host)
return
try:
Name=gethostbyaddr(Host) ##獲得ip對應主機的信息
print ("\n[+] Scan Results for:"+Name[0])
except:
print ("\n[+] Scan Results for:"+IP)
setdefaulttimeout(1)
for Port in Ports:
print ("Scanning port "+Port)
connScan(Host,int(Port))
def main():
usage="usage %prog -H <target host> -p/-P <target ports>"
parser=optparse.OptionParser(usage) #創(chuàng)建對象實例
parser.add_option('-H',dest='Host',type='string',help='target host') ##需要的命令行參數(shù)
parser.add_option('-P','-p',dest='Ports',type='string',help='target ports')
(options,args)=parser.parse_args()
Host=options.Host
Ports=str(options.Ports).split(',')
if (Host==None)|(Ports==None): ##如果主機和端口都是空的話
print(parser.usage)
exit(0)
portScan(Host,Ports)
if __name__=='__main__':
main()

python-nmap模塊編寫 

我們還可以通過調(diào)用nmap進行端口掃描。

掃描給定ip或給定網(wǎng)段內(nèi)指定端口是否開放

-H 參數(shù)可以掃描一個ip地址也可以掃描一個網(wǎng)段,-p 只能指定一個端口

# -*- coding: utf-8 -*-
import nmap
import optparse

def Test(Hosts,port):
nm=nmap.PortScanner()
nm.scan(Hosts,port)
port_int=int(port) #將端口從字符串轉(zhuǎn)化為int類型的
for t in nm.all_hosts():
if nm[t].has_tcp(port_int): #如果445端口提供了TCP協(xié)議
state=nm[t]['tcp'][port_int]['state'] #判斷該TCP 445 端口的狀態(tài)
if state=='open':
print ('[+]Found Target Host:'+t)
return
def main():
usage="usage %prog -H <target host> -p/-P <target port>"
parser=optparse.OptionParser(usage) #創(chuàng)建對象實例
parser.add_option('-H',dest='Host',type='string',help='target host') ##需要的命令行參數(shù)
parser.add_option('-P','-p',dest='Port',type='string',help='target ports')
(options,args)=parser.parse_args()
Hosts=options.Host
Port=options.Port
if (Hosts==None)|(Port==None): #如果主機和端口都是空的話
print(parser.usage)
exit(0) #退出
else:
Test(Hosts,Port)
if __name__=='__main__':
main()

到此這篇關(guān)于利用Python腳本寫端口掃描器socket,python-nmap的文章就介紹到這了,更多相關(guān)Python socket,python-nmap內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實現(xiàn)數(shù)字炸彈游戲程序

    python實現(xiàn)數(shù)字炸彈游戲程序

    這篇文章主要為大家詳細介紹了python實現(xiàn)數(shù)字炸彈游戲程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 利用Python進行數(shù)據(jù)可視化的實例代碼

    利用Python進行數(shù)據(jù)可視化的實例代碼

    數(shù)據(jù)可視化和數(shù)據(jù)挖掘都是探索數(shù)據(jù)和分析數(shù)據(jù)的一種手段,下面這篇文章主要給大家介紹了關(guān)于如何利用Python進行數(shù)據(jù)可視化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • 詳解Python圖像形態(tài)學處理(開運算,閉運算,梯度運算)

    詳解Python圖像形態(tài)學處理(開運算,閉運算,梯度運算)

    數(shù)學形態(tài)學(Mathematical Morphology)是一種應用于圖像處理和模式識別領(lǐng)域的新方法。本文將為大家介紹Python圖像形態(tài)學處理中的開運算、閉運算和梯度運算,感興趣的可以了解一下
    2022-06-06
  • python+selenium+autoit實現(xiàn)文件上傳功能

    python+selenium+autoit實現(xiàn)文件上傳功能

    這篇文章主要介紹了python+selenium+autoit實現(xiàn)文件上傳功能,需要的朋友可以參考下
    2017-08-08
  • python微信聊天機器人改進版(定時或觸發(fā)抓取天氣預報、勵志語錄等,向好友推送)

    python微信聊天機器人改進版(定時或觸發(fā)抓取天氣預報、勵志語錄等,向好友推送)

    這篇文章主要介紹了python微信聊天機器人改進版,定時或觸發(fā)抓取天氣預報、勵志語錄等,向好友推送 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Python 讀寫文件和file對象的方法(推薦)

    Python 讀寫文件和file對象的方法(推薦)

    下面小編就為大家?guī)硪黄狿ython 讀寫文件和file對象的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • tensorflow1.0學習之模型的保存與恢復(Saver)

    tensorflow1.0學習之模型的保存與恢復(Saver)

    這篇文章主要介紹了tensorflow1.0學習之模型的保存與恢復(Saver) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 如何查看Python安裝了哪些包

    如何查看Python安裝了哪些包

    這篇文章主要給大家介紹了關(guān)于如何查看Python安裝了哪些包的相關(guān)資料, Conda是另一種廣泛使用的Python包管理工具,它用于安裝、管理和升級軟件包和其依賴項,需要的朋友可以參考下
    2023-07-07
  • python3調(diào)用百度翻譯API實現(xiàn)實時翻譯

    python3調(diào)用百度翻譯API實現(xiàn)實時翻譯

    這篇文章主要為大家詳細介紹了python3調(diào)用百度翻譯API,實現(xiàn)實時翻譯,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Pytorch?Mac?GPU?訓練與測評實例

    Pytorch?Mac?GPU?訓練與測評實例

    這篇文章主要為大家介紹了Pytorch?Mac?GPU?訓練與測評實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01

最新評論