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

首頁 > 編程 > Python > 正文

python基礎教程之udp端口掃描

2020-02-23 05:07:23
字體:
來源:轉載
供稿:網友

一、概述
任務描述:
開發一個程序,用于獲取局域網中開啟snmp服務的主機ip地址列表,并寫入相應文件以便其它程序使用。
背景知識:
SNMP是基于UDP的,而且標準的SNMP服務使用161和162端口。
思路:
1、獲取局域在線主機列表;
2、獲取各個主機的snmp端口(比如161)開啟狀況;
3、以特定格式寫入特定文件。
這里只實現前兩步。

二、nmap實現
1、安裝nmap
Linux平臺(CentOS為例):

yum install nmap -y    
widows平臺(下載地址):
http://nmap.org/download.html#windows

2、獲取在線主機列表
以192.168.1.0/24網段為例:

nmap -sn 192.168.1.0/24  
或者指定ip范圍掃描:

nmap -sn 192.168.1.1-254  
參數解釋:
-sn: Ping掃描,只進行主機發現,不進行端口掃描。

3、獲取主機端口開啟狀況
以192.168.1.100為例

nmap -p 161 -sU 192.168.1.100  
參數解釋:

-p 161 : 掃描161端口  
-sU    : 進行UDP掃描   
nmap返回結果:

open            :   開放
closed          :   關閉
filtered        :   端口被防火墻IDS/IPS 屏蔽,無法確定其狀態
unfiltered      :   端口沒有被屏蔽,但是否開放需要進一步確定
open|filtered   :   端口是開放的或被屏蔽
closed|filtered :   端口是關閉的或被屏蔽
4、nmap捷徑

掃描192.168.1.0/24網段的161端口如下: 
nmap -p 161 -sU 192.168.1.0/24  
三、python實現(借助python-nmap)
nmap的返回值有很多數據,需要自行寫程序進行解析,比如對192.168.1.100的161端口進行掃描的結果:

Nmap scan report for 192.168.1.100
Host is up (0.00024s latency).
PORT    STATE  SERVICE
161/udp closed snmp
MAC Address: 10:BF:5A:6A:BA:48 (Unknown)
這里有個python開發的nmap解析庫,原理是調用nmap命令,并對其結果進行解析,返回python能識別的數據結構:
名稱 : python-nmap
url : http://xael.org/norman/python/python-nmap/python-nmap-0.1.4.tar.gz

示例(掃描局域網各個主機的snmp服務開啟狀況):

代碼如下:
#! /usr/bin/python

import nmap
nm = nmap.PortScanner()
nm.scan(hosts='192.168.1.0/24', arguments='-p 161 -sU ')
hosts_list = [(x, nm[x][u'udp'][161]['state']) for x in nm.all_hosts()]
for host, status in hosts_list:
    print('{0}:{1}'.format(host, status))

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长白| 纳雍县| 全椒县| 思茅市| 平昌县| 化州市| 林口县| 阜阳市| 荥经县| 乐亭县| 磐安县| 安溪县| 麻栗坡县| 定远县| 黄骅市| 和龙市| 沈丘县| 红原县| 团风县| 建昌县| 屯留县| 盐池县| 永平县| 闸北区| 株洲县| 扎囊县| 东至县| 临沂市| 马龙县| 彩票| 赣榆县| 海盐县| 滁州市| 禹州市| 南和县| 龙川县| 新龙县| 南开区| 阿瓦提县| 衡阳县| 淮北市|