nmap扫描端口 python

在看python安全攻防这本书中看到了python调用nmap进行扫描,于是进行了如下的总结:
1、实例化nmap扫描器

nm=nmap.PortScanner()

实例化以后,会把信息存储到“nm”里面,“nm”可以像从json里面取数据一样超级方便。
2、使用scan方法

result=nm.scan(hosts=targetIP,arguments='-sn -PE'
	hosts为目标IP地址,arguments为Nmap的扫描参数
	-sn:使用ping进行扫描
	-PE:使用ICMP的echo请求包,

result的结果示例:

{
	'nmap': {
		'scanstats': {
			'uphosts': '1',
			'timestr': 'Sat Dec 17 16:24:11 2016',
			'downhosts': '0',
			'totalhosts': '1',
			'elapsed': '0.11'
		},
		'scaninfo': {
			'tcp': {
				'services': '20-443',
				'method': 'syn'
			}
		},
		'command_line': 'nmap -oX - -p 20-443 192.168.199.211'
	},
	'scan': {
		'192.168.199.211': {
			'status': {
				'state': 'up',
				'reason': 'localhost-response'
			},
			'hostnames': [{
				'type': 'PTR',
				'name': 'salt'
			}],
			'vendor': {},
			'addresses': {
				'ipv4': '192.168.199.211'
			},
			'tcp': {
				80: {
					'product': '',
					'state': 'open',
					'version': '',
					'name': 'http',
					'conf': '3',
					'extrainfo': '',
					'reason': 'syn-ack',
					'cpe': ''
				},
				443: {
					'product': '',
					'state': 'open',
					'version': '',
					'name': 'https',
					'conf': '3',
					'extrainfo': '',
					'reason': 'syn-ack',
					'cpe': ''
				},
				22: {
					'product': '',
					'state': 'open',
					'version': '',
					'name': 'ssh',
					'conf': '3',
					'extrainfo': '',
					'reason': 'syn-ack',
					'cpe': ''
				}
			}
		}
	}
}

3、对结果进行操作,获取想要的内容

state=result['scan'][192.168.199.211]['status']['state']

需安装python_nmap包
python_nmap包提供了python调用nmap的一系列接口
1.创建nmap扫描器 class PortScanner()
2.扫描器方法
scan(self, hosts=‘127.0.0.1’, ports=None, arguments=’-sV’, sudo=False)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值