Python實現(xiàn)的IP端口掃描工具類示例
本文實例講述了Python實現(xiàn)的IP端口掃描工具類。分享給大家供大家參考,具體如下:
去年服務器老是被攻擊,每次上線之后,上線的人急急忙忙下班,忘記關閉一些端口。導致有次服務器被攻破。損失嚴重。
這段時間再做儀器對接,把醫(yī)療器械對接到我們SAAS平臺,有些儀器是通過網(wǎng)線進行數(shù)據(jù)傳輸?shù)?。通過網(wǎng)線進行數(shù)據(jù)傳輸,無非就是通過端口號進行傳輸交互,但是找不到說明書,國內(nèi)搞儀器對接開發(fā)的也很少,所以網(wǎng)上開源的或者介紹的東西很少,對于我們來說,儀器是個黑盒,想要拿到里面的東西,還要自己去摸索,去試驗,比較浪費時間,腦子一轉(zhuǎn)就想到了之前自己寫的端口掃描工具,連到一個局域網(wǎng),一鍵找到開放的端口,直接端口鏈接上,拿到數(shù)據(jù),分分鐘解決了拿數(shù)據(jù)的問題。
所以好東西要分享出來。
目前我發(fā)現(xiàn)的用處:
1,服務器上線之后的掃描工具,那些端口要開放那些不能開放,掃一掃就知道了。
2,當確定對方是通過端口傳輸?shù)?,但是不知道端口號,是人是妖,你也掃一掃(用端口號去傳輸?shù)據(jù)比藍牙什么的快多了,只要你的數(shù)據(jù)足夠大,上傳和下載帶寬可以打滿你的手機所支持的帶寬)。
3,想看看自己的手機那些端口號被開放了,在設置中找到自己的IP 或者下載個命令行執(zhí)行工具 ifconfig下就知道了。
注意的是 不同的電腦不同的CPU 每次最多創(chuàng)建的線程是不一樣的,可能創(chuàng)建線程過多,會報錯,所以如果報錯,自己修改下,每次掃描的個數(shù),再剪成更小的段就可以了,或者再把seelp的時間設置的更長一些,保證能把0-65536之間的端口掃描一遍就可以了
# -*- coding:utf8 -*-
import socket, time, thread
import os
from time import sleep
socket.setdefaulttimeout(1)
def socket_port(ip,port):
try:
if port>=65535:
return
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result=s.connect_ex((ip,port))
if result==0:
lock.acquire()
print ip,u':',port,u'端口開放'
lock.release()
s.close()
except Exception,e:
pass
def ip_scan(ip):
"""
輸入IP,掃描IP的0-65534端口情況
"""
try:
print u'開始掃描 %s' % ip
start_time=time.time()
for j in range(0,660):
for i in range(j*100,100*(j+1)):
thread.start_new_thread(socket_port,(ip,int(i)))
sleep(0.1)#休眠 防止線程創(chuàng)建的過多報錯(can not create new start thread)
print u'掃描端口完成,總共用時 :%.2f' %(time.time()-start_time)
except Exception,e :
print u'掃描ip出錯'
if __name__=='__main__':
lock=thread.allocate_lock()
ip_scan('192.168.3.37')
運行結果:

更多關于Python相關內(nèi)容可查看本站專題:《Python Socket編程技巧總結》、《Python進程與線程操作技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
pyecharts如何使用formatter回調(diào)函數(shù)的問題
這篇文章主要介紹了pyecharts如何使用formatter回調(diào)函數(shù)的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
使用Filter過濾python中的日志輸出的實現(xiàn)方法
這篇文章主要介紹了使用Filter過濾python中的日志輸出,本文給大家分享幾種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
python3.x上post發(fā)送json數(shù)據(jù)
這篇文章通過代碼示例給大家講述了python3.x上post發(fā)送json數(shù)據(jù)的詳細方法,一起學習下。2018-03-03
python圖片處理庫Pillow實現(xiàn)簡單PS功能
Python 屆處理圖片最強的庫是 PIL(Python Image Library),但由于該庫只支持 2.x 版本,在此基礎上做了擴展,出了一個兼容 3.x 的版本也就是 Pillow,因此,我們今天要用的庫就是Pillow2021-11-11
Tensorflow卷積實現(xiàn)原理+手寫python代碼實現(xiàn)卷積教程
這篇文章主要介紹了Tensorflow卷積實現(xiàn)原理+手寫python代碼實現(xiàn)卷積教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
python操作mysql實現(xiàn)一個超市管理系統(tǒng)
超市管理系統(tǒng)有管理員和普通用戶兩條分支,只需掌握Python基礎語法,就可以完成這個項目,下面這篇文章主要給大家介紹了關于python操作mysql實現(xiàn)一個超市管理系統(tǒng)的相關資料,需要的朋友可以參考下2022-12-12

