【编程】Python中python-nmap扫描参数(一)

259 阅读2分钟

图片

Python-nmap记录


最近想写个小工具,先整理一下python-nmap扫描参数:

第一阶段-先设计,扫描存活,再次获取目标的端口和开启服务。(第一步实现功能)

安装模块:

pip3  install  python-nmap
python3 -m pip install python-nmap

常用扫描的方式:

请移步:blog.csdn.net/qq\_3611919…

探出存活:

import nmap
nm = nmap.PortScanner()
nm.scan('192.168.0.0/24', '80,8080','-sP')
 
也可以这样
nm.scan(hosts='192.168.0.0/24', arguments='-n -sP -PE -PA21,23,80,3389')

上面这个是参考文档的相关调用的参数形式:

图片

返回的信息比较多,自己想要获取的是系统探测的IP存活的信息:

抓取扫描回来的信息的IP值:

#!/usr/bin/python3
#_*_ encoding=utf-8 _*_

import nmap
import click

#相关参数
@click.command()
@click.option('-ip', default='127.0.0.1/24', help='Input you ip.', type=str)

def Alive(ip):
  nm = nmap.PortScanner()
  data = nm.scan(hosts=ip, arguments='-sP')
  for ip in data['scan'].keys():
    print('ip存活: '+ip)

if __name__ == '__main__':
  Alive()

抓取自己想要的信息

图片

将存活的IP写入txt

for ips in data['scan'].keys():
    print('ip存活: '+ips)
    with open(file_name, 'a+', encoding='utf-8') as aliveip:
      aliveip.write(ips + "\n")

图片

主要是分析获取原始里面的数据包

图片

找了CSND测试一下

图片

测试获取端口,端口服务情况,开放状况。

获取存活的IP存储在ip.txt里面,同时开放的端口存储在port.txt

图片

同时测试一下ip同C段获取情况,感觉不错。

图片

开始的功能实现。后续做其他模块

参考:

blog.csdn.net/qq\_3611919…

www.cnblogs.com/zhangjiangh…

免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

订阅查看更多复现文章、学习笔记

thelostworld

安全路上,与你并肩前行!!!!

图片

个人知乎:www.zhihu.com/people/fu-w…

个人简书:www.jianshu.com/u/bf0e38a8d…