Python開發埠掃瞄器

2022-01-14 07:53:07 字數 2235 閱讀 9384

首先是最常用的埠掃瞄器:

雖說有nmap等強大的工具,不過如果由於條件限制無法安裝nmap呢?

我這個指令碼寫的比較簡單,預設掃瞄1-65535全部的埠

實際的話,可以根據需要自己修改指令碼來實現定製化掃瞄

#

-*- coding:utf-8 -*-

__author__ = "

yiqing

"import

socket

import

time

import

thread

import

optparse

import

resocket.setdefaulttimeout(3)

defport_scan(ip, port):

"""對某乙個ip的某乙個埠進行掃瞄

:param ip: 目標

:param port: 埠

:return: none

"""try

:

if port > 65535 or port < 1:

print

"[!] port scan end

"s =socket.socket(socket.af_inet, socket.sock_stream)

result =s.connect_ex((ip, port))

if int(result) ==0:

lock.acquire()

print

"[-] ip:

" + str(ip) + "

port:

" + str(port) + "

open

"lock.release()

s.close()

except

exception:

pass

defip_scan(ip):

"""對ip的所有埠掃瞄

:param ip:目標

:return: none

"""try

:

print

"[*] start port scan :

" +ip

start_time =time.time()

for port in range(1, 65535):

thread.start_new_thread(port_scan, (ip, int(port)))

print

"[+] port scan complete! time:

" + str(time.time() -start_time)

except

exception:

pass

defmain():

"""輸入引數處理

:return: none

"""print

"welcome to portscanner

"print

"author: %s version:1.0

" % __author__

parse =optparse.optionparser(

'python %prog -h ')

parse.add_option('-h

', dest="

target_host

", type="

string

", help='

specify the host')

(options, args) =parse.parse_args()

target_host =options.target_host

if target_host is

not none and re.match(r'

\d\.\d\.\d\.\d

', target_host):

ip_scan(target_host)

else

: exit()

if__name__ == '

__main__':

lock =thread.allocate_lock()

main()

time.sleep(3)

raw_input(

"press enter to exit

")

使用:

Python指令碼 埠掃瞄器

乙個用python寫的簡單的埠掃瞄器,python環境為 3.7.0,windows系統 掃瞄給定主機是否開放了指定的埠tcp連線掃瞄是利用tcp的三次握手來確定主機的埠是否開放。確定主機埠開放之後,給埠傳送訊息,接收埠返回的訊息,然後判斷該埠執行的服務。使用時,h 引數可以提供主機的網域名稱或者i...

埠掃瞄器編寫 python

今天來編寫乙個 埠掃瞄器,掃瞄某個主機 開放的埠 對某個埠進行 socket 連線,如果連線成功,則代表 該埠有效,可以根據埠,判斷 是 哪個服務,很多情況下,都是很準確的。一共有 1 65535 個埠 其實0也可以用 coding utf 8 import socket socket.setdef...

TCP埠掃瞄器

乙個基於python3的tcp埠掃瞄器 原理 就是和不同的埠進行tcp連線,能連線成功就表示此埠是開放的,不能連線成就表示此埠是關閉的。import socket import re import threading import time lock threading.lock threads l...