Python通过pysnmp和nmap获取netstat

本文介绍了如何使用Python的pysnmp库和nmap工具来获取netstat信息。通过nmap的Python接口,可以实现与nmap命令行相同的功能,并以多重字典的JSON数据形式获取结果,方便查找目标值。提供的完整脚本用于测试内网设备是否存在外网连接。
摘要由CSDN通过智能技术生成
最近在研究snmp协议,用Python的pysnmp模块编写了一段可以获取snmp协议中netstat的脚本,了解了一些pysnmp的用法。

0x01 安装pysnmp

>>> pip install pysnmp
>>> import pysnmp()

0x02 pysnmp

def snmpget(printer_ip):
    cg = cmdgen.CommandGenerator() ##获得CommandGenerator对象 
    errorIndication, errorStatus, errorIndex, varBinds = cg.getCmd(
        cmdgen.CommunityData('server', 'public', 1),  ## 扫描名称,扫描方式,版本号
        cmdgen.UdpTransportTarget((printer_ip, 161)), ## 扫描IP,扫描端口
        '.1.3.6.1.2.1.4.20.1.3.192.168.0.69'          ## OID,此处表示获取子网掩码
    )
    subnet_mask = str(varBinds[0]).split('=')[1].strip() ##结果存在varBind()中
    return subnet_mask 

0x03 nmap

Python的nmap的使用方式与nmap的参数一样,初始化后直接输入语句即可。返回值为多重字典组成的json数据,使用在线json转换工具即可找到最终要找的目标值。

def Scan():
    nm = nmap.PortScanner()
    result = nm.scan(hosts=target, arguments="-sU -p 161 --script=snmp-netstat")
    totle_list = str(result['scan'][target][
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值