python實(shí)現(xiàn)指定ip端口掃描方式
在Linux中判斷一臺(tái)主機(jī)是否可達(dá),可以使用ping命令,而判斷端口是否打開,可以使用telnet命令,但是telnet命令沒有超時(shí)時(shí)間的參數(shù),使用起來不是很方便,那么可以利用Python來完成一個(gè)端口掃描的功能
socket實(shí)現(xiàn)端口掃描
#!/usr/bin/env python
import socket
def get_ip_status(ip,port):
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
server.connect((ip,port))
print('{0} port {1} is open'.format(ip, port))
except Exception as err:
print('{0} port {1} is not open'.format(ip,port))
finally:
server.close()
if __name__ == '__main__':
host = '10.0.0.11'
for port in range(20,100):
get_ip_status(host,port)
telnetlib實(shí)現(xiàn)端口掃描
import telnetlib
def get_ip_status(ip,port):
server = telnetlib.Telnet() # 創(chuàng)建一個(gè)Telnet對(duì)象
try:
server.open(ip,port) # 利用Telnet對(duì)象的open方法進(jìn)行tcp鏈接
print('{0} port {1} is open'.format(ip, port))
except Exception as err:
print('{0} port {1} is not open'.format(ip,port))
finally:
server.close()
if __name__ == '__main__':
host = '10.0.0.11'
for port in range(20,100):
get_ip_status(host,port)
多線程實(shí)現(xiàn)高效掃描
#!/usr/bin/env python
import telnetlib
import threading
def get_ip_status(ip,port):
server = telnetlib.Telnet()
try:
server.open(ip,port)
print('{0} port {1} is open'.format(ip, port))
except Exception as err:
print('{0} port {1} is not open'.format(ip,port))
finally:
server.close()
if __name__ == '__main__':
host = '10.0.0.11'
threads = []
for port in range(20,100):
t = threading.Thread(target=get_ip_status,args=(host,port))
t.start()
threads.append(t)
for t in threads:
t.join()
以上這篇python實(shí)現(xiàn)指定ip端口掃描方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
OpenCV實(shí)戰(zhàn)記錄之基于分水嶺算法的圖像分割
在機(jī)器視覺中,有時(shí)需要對(duì)產(chǎn)品進(jìn)行檢測(cè)和計(jì)數(shù),其難點(diǎn)無非是對(duì)于產(chǎn)品的圖像分割,這篇文章主要給大家介紹了關(guān)于OpenCV實(shí)戰(zhàn)記錄之基于分水嶺算法的圖像分割的相關(guān)資料,需要的朋友可以參考下2023-02-02
Python實(shí)戰(zhàn)小游戲飛機(jī)大戰(zhàn)詳解
飛機(jī)大戰(zhàn)想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個(gè)簡單的飛機(jī)大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下2021-11-11
Python?matplotlib.pyplot.hist()繪制直方圖的方法實(shí)例
直方圖(Histogram)又稱質(zhì)量分布圖,是一種統(tǒng)計(jì)報(bào)告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況,下面這篇文章主要給大家介紹了關(guān)于Python?matplotlib.pyplot.hist()繪制直方圖的相關(guān)資料,需要的朋友可以參考下2022-06-06
Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的代碼(JSON模塊)
這篇文章主要介紹了Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的代碼(JSON模塊),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Python 使用type來定義類的實(shí)現(xiàn)
今天小編就為大家分享一篇Python 使用type來定義類的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11

