avatar

T3sec 学习笔记—–第十四讲-python-nmap

T3SEC —–第十三讲:python-nmap

Nmap–扫描网上电脑开放的连接端口

可用于评估系统漏洞

案例前提条件:

  • python基础 pip
  • TCP/IP
  • Python 3.7.x
  • python-nmap
    • portscanner() —扫描
    • portscannerhostdict() — 返回结果

实现内网端口扫描工具

#准备工作:
#windows: nmap.exe
#python-nmap :pip install python-nmap
#目标: 实现指定ip/ip范围 的端口扫描神器'
import sys
import nmap


# www.baidu.com/127.0.0.1/192.168.0-255.1-255/ 192.168.1.1/24
#1-8080/80/1443,8080,443
#-sV
#scan(self,hosts='',ports=None,arguments='-sV')

scan_row=[]
input_data=input("Please input hosts and ports:")#12.169.1.1 8080,443
scan_row =input_data.split(" ")
#输入是否满足条件
if len(scan_row)!=2:
print("Input error.Example \"192.168.1.1 80,443\"")
sys.exit(0)

hosts=scan_row[0]#主机
port=scan_row[1]#端口

#创建一个扫描对象
try:
nm=nmap.PortScanner()
except Exception as e:
print("Nmap not found")
sys.exit(0)


nm.scan(hosts=hosts,arguments='-v -sS -p'+port)

#遍历扫描主机
for host in nm.all_hosts():
print('-'*40)
print('Host:{}({})'.format(host,nm[host].hostname()))
print('State:{}'.format(nm[host].state()))#输出主机状态 up/down

for proto in nm[host].all_protocols():#遍历扫描所有协议
print("-"*20)
print("protocol:{}".format(proto))

#扫描所有端口所对应的状态
lport=nm[host][proto].keys()
for port in lport:
print("port:{}\tstate:{}".format(port,nm[host][proto][port]['state']))
文章作者: 别人家的小方
文章链接: http://blog.fangmingxuan.com/2020/05/T3sec%20%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E2%80%94%E2%80%93%E7%AC%AC%E5%8D%81%E5%9B%9B%E8%AE%B2-python-nmap/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 方·圆--方寸之间 丨 博客
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论