最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python編寫一個(gè)簡單的端口掃描器

 更新時(shí)間:2022年04月08日 10:28:20   作者:somenzz  
端口掃描是非常實(shí)用的,不止用在信息安全方面,日常的運(yùn)維也用得到。本文將利用Python編寫一個(gè)簡單的端口掃描器,需要的可以參考一下

端口掃描是非常實(shí)用的,不止用在信息安全方面,日常的運(yùn)維也用得到。這方面的工具也不要太多,搞過 CTF 的朋友會(huì)告訴你有多少端口掃描工具,那為什么還要用 Python 再自己實(shí)現(xiàn)一遍?這個(gè)問題就像飯店里的菜已經(jīng)很好吃了,為什么還要自己燒菜一樣,主要還是為了適合自己的口味,添加自己需要的個(gè)性功能。

今天我們將用 20 行代碼編寫一個(gè)簡單的端口掃描器。讓我們開始吧!

1、需要的庫

都是標(biāo)準(zhǔn)庫,因此內(nèi)網(wǎng)環(huán)境也不影響:

import?socket
import?argparse
import?sys
import?time

套接字庫是一個(gè)低級(jí)網(wǎng)絡(luò)接口庫,它允許我們在腳本中創(chuàng)建網(wǎng)絡(luò)連接。argparse 庫用于解釋傳遞給我們腳本的參數(shù)。sys 庫允許我們與系統(tǒng)交互。最后,time 庫用來統(tǒng)計(jì)耗時(shí)。

2、獲取一個(gè) host 地址

parser?=?argparse.ArgumentParser()
parser.add_argument('host')
args?=?parser.parse_args()

這樣腳本在運(yùn)行的時(shí)候,第一個(gè)參數(shù)就可以傳入一個(gè)主機(jī)名或 ip 地址,下文就可以通過 args.host 來使用。

3、循環(huán)所有的端口

端口占用 2 個(gè)字節(jié),因此其范圍是 1-65535

start?=?time.time()
try:
????for?port?in?range(1,?65536):
????????sock?=?socket.socket(socket.AF_INET,?socket.SOCK_STREAM)
????????sock.settimeout(1)
????????result?=?sock.connect_ex((args.host,?port))
????????if?result?==?0:
????????????print("Port:?{}?Open".format(port))
????????sock.close()
except?KeyboardInterrupt:
????sys.exit()
end?=?time.time()

如果 sock.connect_ex 返回了 0 說明端口開放,為了讓程序正常退出,我們加上 try except 來捕獲鍵盤發(fā)起的中斷。

4、完整腳本

一旦 for 循環(huán)完成并掃描了所有端口,我們將獲取時(shí)間并打印出腳本運(yùn)行的時(shí)間:

import?socket
import?argparse
import?sys
import?time

parser?=?argparse.ArgumentParser()
parser.add_argument('host')
args?=?parser.parse_args()
start?=?time.time()

try:
????for?port?in?range(1,?65536):
????????sock?=?socket.socket(socket.AF_INET,?socket.SOCK_STREAM)
????????sock.settimeout(1)
????????result?=?sock.connect_ex((args.host,?port))
????????if?result?==?0:
????????????print("Port:?{}?Open".format(port))
????????sock.close()
except?KeyboardInterrupt:
????sys.exit()

end?=?time.time()
print(f"Scanning?completed?in:?{end-start:.3f}s")

除去空行,代碼一共 20 行,運(yùn)行效果如下:

到此這篇關(guān)于基于Python編寫一個(gè)簡單的端口掃描器的文章就介紹到這了,更多相關(guān)Python端口掃描器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pythotn條件分支與循環(huán)詳解(2)

    pythotn條件分支與循環(huán)詳解(2)

    這篇文章主要介紹了Python條件分支和循環(huán)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python邏輯運(yùn)算操作符,條件分支語句,循環(huán)語句等功能與基本用法,需要的朋友可以參考下
    2021-08-08
  • python?中pass和match使用方法

    python?中pass和match使用方法

    這篇文章主要介紹了python中pass和match使用方法,?pass???語句不執(zhí)行任何操作。語法上需要一個(gè)語句,但程序不實(shí)際執(zhí)行任何動(dòng)作時(shí),可以使用該語句
    2022-08-08
  • Python獲取某一進(jìn)程的CPU利用率的方法詳解

    Python獲取某一進(jìn)程的CPU利用率的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)獲取某一進(jìn)程的CPU利用率,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 一篇文章帶你了解python標(biāo)準(zhǔn)庫--random模塊

    一篇文章帶你了解python標(biāo)準(zhǔn)庫--random模塊

    這篇文章主要給大家介紹了關(guān)于Python中random模塊常用方法的使用教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Python通過文本和圖片生成詞云圖

    Python通過文本和圖片生成詞云圖

    這篇文章主要介紹了Python通過文本和圖片生成詞云圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python多版本安裝與Jupyter Lab使用方式

    Python多版本安裝與Jupyter Lab使用方式

    這篇文章主要介紹了Python多版本安裝與Jupyter Lab使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • pytorch教程實(shí)現(xiàn)mnist手寫數(shù)字識(shí)別代碼示例

    pytorch教程實(shí)現(xiàn)mnist手寫數(shù)字識(shí)別代碼示例

    這篇文章主要講解了pytorch教程中如何實(shí)現(xiàn)mnist手寫數(shù)字識(shí)別,文中附有詳細(xì)的代碼示例,test準(zhǔn)確率98%,有需要的朋友可以借鑒參考下
    2021-09-09
  • python math模塊的基本使用教程

    python math模塊的基本使用教程

    這篇文章主要介紹了python math模塊的基本使用教程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Python常見報(bào)錯(cuò)解決之SciPy和NumPy版本沖突

    Python常見報(bào)錯(cuò)解決之SciPy和NumPy版本沖突

    Scipy是基于Numpy的科學(xué)計(jì)算工具庫,方便、易于使用、專為科學(xué)和工程設(shè)計(jì),是一個(gè)用于數(shù)學(xué)、科學(xué)、工程領(lǐng)域的常用軟件包,這篇文章主要給大家介紹了關(guān)于Python常見報(bào)錯(cuò)解決之SciPy和NumPy版本沖突的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • python命令 -u參數(shù)用法解析

    python命令 -u參數(shù)用法解析

    這篇文章主要介紹了python命令 -u參數(shù)用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

平原县| 莎车县| 屯昌县| 普安县| 明水县| 永善县| 太原市| 收藏| 光泽县| 宣城市| 社旗县| 财经| 大洼县| 尚义县| 万荣县| 子洲县| 石首市| 荣成市| 台江县| 改则县| 洪雅县| 罗山县| 泾源县| 河池市| 惠安县| 新河县| 榆中县| 韶关市| 伊宁县| 垫江县| 达拉特旗| 吴堡县| 鞍山市| 胶南市| 虎林市| 贵德县| 长垣县| 临高县| 拉孜县| 法库县| 莆田市|