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

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專(zhuān)題:《Python Socket編程技巧總結(jié)》、《Python進(jìn)程與線(xiàn)程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python通過(guò)nmap掃描在線(xiàn)設(shè)備并嘗試AAA登錄(實(shí)例代碼)
- python nmap實(shí)現(xiàn)端口掃描器教程
- 在Python中合并字典模塊ChainMap的隱藏坑【推薦】
- python ChainMap的使用和說(shuō)明詳解
- python ChainMap 合并字典的實(shí)現(xiàn)步驟
- 巧用python和libnmapd,提取Nmap掃描結(jié)果
- Python腳本實(shí)現(xiàn)Web漏洞掃描工具
- Python實(shí)現(xiàn)的多線(xiàn)程端口掃描工具分享
- python如何編寫(xiě)類(lèi)似nmap的掃描工具
相關(guān)文章
python3?requests中文亂碼之壓縮格式問(wèn)題解析
這篇文章主要介紹了python3?requests中文亂碼問(wèn)題之壓縮格式問(wèn)題,我們?cè)谂老x(chóng)時(shí),經(jīng)常會(huì)遇見(jiàn)中文亂碼問(wèn)題,之前都是編碼格式的問(wèn)題,很少遇見(jiàn)由于壓縮格式造成的編碼混亂問(wèn)題,特記錄下,需要的朋友可以參考下2022-08-08
pyecharts如何使用formatter回調(diào)函數(shù)的問(wèn)題
這篇文章主要介紹了pyecharts如何使用formatter回調(diào)函數(shù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
使用Filter過(guò)濾python中的日志輸出的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Filter過(guò)濾python中的日志輸出,本文給大家分享幾種方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
python3.x上post發(fā)送json數(shù)據(jù)
這篇文章通過(guò)代碼示例給大家講述了python3.x上post發(fā)送json數(shù)據(jù)的詳細(xì)方法,一起學(xué)習(xí)下。2018-03-03
Python變量類(lèi)型知識(shí)點(diǎn)總結(jié)
在本文里我們給大家分析一篇關(guān)于Python變量類(lèi)型的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們跟著學(xué)習(xí)下。2019-02-02
python圖片處理庫(kù)Pillow實(shí)現(xiàn)簡(jiǎn)單PS功能
Python 屆處理圖片最強(qiáng)的庫(kù)是 PIL(Python Image Library),但由于該庫(kù)只支持 2.x 版本,在此基礎(chǔ)上做了擴(kuò)展,出了一個(gè)兼容 3.x 的版本也就是 Pillow,因此,我們今天要用的庫(kù)就是Pillow2021-11-11
Tensorflow卷積實(shí)現(xiàn)原理+手寫(xiě)python代碼實(shí)現(xiàn)卷積教程
這篇文章主要介紹了Tensorflow卷積實(shí)現(xiàn)原理+手寫(xiě)python代碼實(shí)現(xiàn)卷積教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
python操作mysql實(shí)現(xiàn)一個(gè)超市管理系統(tǒng)
超市管理系統(tǒng)有管理員和普通用戶(hù)兩條分支,只需掌握Python基礎(chǔ)語(yǔ)法,就可以完成這個(gè)項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于python操作mysql實(shí)現(xiàn)一個(gè)超市管理系統(tǒng)的相關(guān)資料,需要的朋友可以參考下2022-12-12

