国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現的IP端口掃描工具類示例

2020-02-16 01:09:00
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現的IP端口掃描工具類。分享給大家供大家參考,具體如下:

去年服務器老是被攻擊,每次上線之后,上線的人急急忙忙下班,忘記關閉一些端口。導致有次服務器被攻破。損失嚴重。

這段時間再做儀器對接,把醫療器械對接到我們SAAS平臺,有些儀器是通過網線進行數據傳輸的。通過網線進行數據傳輸,無非就是通過端口號進行傳輸交互,但是找不到說明書,國內搞儀器對接開發的也很少,所以網上開源的或者介紹的東西很少,對于我們來說,儀器是個黑盒,想要拿到里面的東西,還要自己去摸索,去試驗,比較浪費時間,腦子一轉就想到了之前自己寫的端口掃描工具,連到一個局域網,一鍵找到開放的端口,直接端口鏈接上,拿到數據,分分鐘解決了拿數據的問題。

所以好東西要分享出來。

目前我發現的用處:

1,服務器上線之后的掃描工具,那些端口要開放那些不能開放,掃一掃就知道了。

2,當確定對方是通過端口傳輸的,但是不知道端口號,是人是妖,你也掃一掃(用端口號去傳輸數據比藍牙什么的快多了,只要你的數據足夠大,上傳和下載帶寬可以打滿你的手機所支持的帶寬)。

3,想看看自己的手機那些端口號被開放了,在設置中找到自己的IP 或者下載個命令行執行工具 ifconfig下就知道了。

注意的是 不同的電腦不同的CPU 每次最多創建的線程是不一樣的,可能創建線程過多,會報錯,所以如果報錯,自己修改下,每次掃描的個數,再剪成更小的段就可以了,或者再把seelp的時間設置的更長一些,保證能把0-65536之間的端口掃描一遍就可以了

# -*- coding:utf8 -*-import socket, time, threadimport osfrom time import sleepsocket.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:  passdef 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)#休眠 防止線程創建的過多報錯(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相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python進程與線程操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巍山| 霸州市| 灵山县| 高州市| 安康市| 庆元县| 黄骅市| 乡城县| 桃园市| 灌阳县| 金湖县| 乌鲁木齐市| 金湖县| 南岸区| 阳曲县| 泽普县| 嘉祥县| 湄潭县| 滨海县| 九龙坡区| 遵化市| 海林市| 卢氏县| 晋江市| 衢州市| 全南县| 姜堰市| 聂荣县| 临潭县| 古丈县| 平安县| 永仁县| 无极县| 宣武区| 玉环县| 惠州市| 时尚| 双鸭山市| 县级市| 顺平县| 清镇市|