如何利用 Python 實現快速埠掃瞄?

2021-09-19 17:05:02 字數 1071 閱讀 2756

對線上伺服器進行埠掃瞄是一件很有用的事,可以驗證你的防火牆規則,避免暴漏不需要的服務。也可以知道你機器上開了哪些服務,不用等烏雲爆出來了才知道,有人黑進內網玩了好幾個月。哈哈,真事,伺服器被通過zabbix黑進來,開了乙個socket5的程序,自由進出。反正,這玩意很有用,本著奉獻精神,把**放出來,共同學習。

功能很簡單,對伺服器進行掃瞄,生成html格式的掃瞄結果,對掃瞄結果發郵件。格式方面做了點處理,定義埠白名單,正常埠顯示綠色,異常埠顯示紅色。算是一種告警。對伺服器進行全埠掃瞄是很耗時的一件事,每台6萬多個埠,而且還取決於掃瞄機器到目標機的網路連線情況。受不了這個蝸牛速度,開發了第一版的單執行緒版本後,又實現了乙個多程序的版本,果然爽了好多。整個人都好了……

mytools.py這是定義的乙個函式庫,擷取了用到的乙個函式,這個sendemail的發郵件的函式,當然當前場景可以定義的乙個檔案中,不過,對程式按模組拆分是個好的習慣。哈哈,我有點pythonic了。

nmscan.py實現埠掃瞄的程式,單執行緒版本,**有點長,慎入

mutinmscan.py埠掃瞄的多程序版本,比照單執行緒版本最大的乙個變化是nmscan函式的實現上,單執行緒傳遞乙個伺服器列表,在函式內部迴圈該列表,讀取掃瞄結果,生成報告郵件。mutinmscan版的函式是接受乙個ip位址,迴圈這一部分使用了mutiprocess庫的pool,並使用其map函式實現對伺服器ip列表的迭代。多執行緒,一節更比五節強……

掃瞄結果在本文開篇就展示了的~~

你也快去試試吧。

利用python的opencv快速實現人臉檢測

import cv2 def facedetector window name,camera id cap cv2.videocapture camera id 使用opencv自帶人臉識別分類器,預設在pyhon的安裝目錄下 classfier cv2.cascadeclassifier d in...

如何利用python實現生命遊戲

英國數學家約翰 何頓 康威在1970年發明了 the game of life,今天番茄加速就來分享下如何利用python實現生命遊戲,規則如下 每個細胞有兩種狀態 存活或死亡 每個細胞與以自身為中心的周圍八格細胞產生互動 當前細胞為存活狀態時,當周圍的存活細胞低於2個時 不包含2個 該細胞變成死亡...

如何利用Python實現n n螺旋矩陣

目錄 3 3螺旋矩陣 1 2 3 8 9 4 7 6 5 def spiral n matrix 0 n for in range n 順時針方向 右,下,左,上 dx 0,1,0,1 dy 1,0,1,0 x y 0 dn 0 方向指標0 向右填充,1 向下填充,2 向上填充,3 向上填充 for...