利用Python進行埠掃瞄

2022-06-07 22:00:15 字數 3116 閱讀 8827

利用python進行埠掃瞄 - dahlhin -

python實現對乙個網路段掃瞄及埠掃瞄 - gg_killer的部落格 - csdn部落格

python實現區域網ip位址掃瞄 - 晴天的專欄 - csdn部落格

python實現掃瞄區域網指定網段ip - pg的部落格 - csdn部落格

1、獲取路由器ip和埠

'''

python 掃瞄內網所有機器埠

'''import socket

def main():

# 定義乙個變數來接收輸入的開始ip

ip_start = input('請輸入開始的ip位址(預設為本機ip):')

# 如果ip為空則設定開始ip和結束ip

if ip_start == '':

ip_start = socket.gethostbyname(socket.gethostname())

ip_end = socket.gethostbyname(socket.gethostname())

# 開始ip不為空則設定結束ip

else:

ip_end = input('請輸入結束ip(預設為本機ip):')

# 如果ip結束位址為空則設定結束ip位址

if ip_end == '':

ip_end = socket.gethostbyname(socket.gethostname())

# 定義乙個變數來接收需要掃瞄的埠

s = input('請輸入目標主機埠,(預設掃瞄常用埠)')

# 如果接收的埠變數為空,則設定預設掃瞄開始埠

if s == '':

portlist = [21, 22, 23, 80, 135, 139, 445, 1433, 1502, 3306, 3389, 8080, 9015]

# 如果接收的埠變數不為空,則設定結束埠

else:

# 將接收的埠s轉換成int型變數

startport = int(s)

# 定義乙個變數接收結束埠

s = input('請輸入目標主機結束埠:(預設:65535)')

# 如果結束埠為空,則設定預設結束埠為65535

if s == '':

endport = 65535

# 預設埠不為空,則將接收到的埠字元轉換成int型

else:

# 將結束埠s變數轉換為int型

endport = int(s)

# 用range()函式生成開始埠到結束埠列表

portlist = [i for i in range(startport, endport + 1)]

# 獲取ip位址的前三部分,並轉換成字串

pre_ip = '.'.join(ip_start.split('.')[:-1])

# 獲取開始ip的最後部分,並轉換成整數型別

start = int(ip_start.split('.')[-1])

# 獲取結束ip的最後部分,並轉換為整數型別

end = int(ip_end.split('.')[-1])

# 從起始ip最後數字到結束ip最後數字加一遍歷

for i in range(start, end + 1):

# ip的前三部分加小圓點加最後部分,組合成ip

ip = pre_ip + '.' + str(i)

for port in portlist:

try:

sk = socket.socket(socket.af_inet, socket.sock_stream)

sk.settimeout(0.1)

sk.connect((ip, port))

sk.settimeout(none)

print('server %s port %d ok!' % (ip, port))

sk.close()

# 結果儲存在檔案中

f = open("ip_port.txt,", 'a')

f.write(ip + ' : ' + str(port) + '\n')

f.close()

except exception:

# print('server %s port %d not ok!'%(ip,port))

# print('*',end=' ')

pass

if __name__ == '__main__':

# 呼叫main()函式

main()

2、路由器http

利用Python進行埠掃瞄

在linux中判斷一台主機是否可達,可以使用ping命令,而判斷埠是否開啟,可以使用telnet命令,但是telnet命令沒有超時時間的引數,使用起來不是很方便,那麼可以利用python來完成乙個埠掃瞄的功能 usr bin env python import socket def get ip s...

利用Python進行埠掃瞄

在linux中判斷一台主機是否可達,可以使用ping命令,而判斷埠是否開啟,可以使用telnet命令,但是telnet命令沒有超時時間的引數,使用起來不是很方便,那麼可以利用python來完成乙個埠掃瞄的功能 usr bin env python import socket def get ip s...

利用Python進行埠掃瞄

在linux中判斷一台主機是否可達,可以使用ping命令,而判斷埠是否開啟,可以使用telnet命令,但是telnet命令沒有超時時間的引數,使用起來不是很方便,那麼可以利用python來完成乙個埠掃瞄的功能 usr bin env python import socket def get ip s...