python高效端口扫描

这次我们使用python-nmap包进行计算机端口扫描,有liunux基础的同学一定知道nmap的强大,不废话,上代码:

# coding=utf8

import nmap
import sys

def main():

    scan_row = []

    input_data = raw_input('Please input hosts and port: ')
    scan_row = input_data.split(" ")

    if len(scan_row) != 2:
        print(" Input error. Please input again.")
        sys.exit(0)

    hosts = scan_row[0]
    port = scan_row[1]

    try:
        nm = nmap.PortScanner()
    except nmap.PortScannerError as e:
        print('Nmap not found. e: %s' % e)
        sys.exit(0)

    except Exception as e:
        print('Unexpected error. e:%s' % e)
        sys.exit(0)

    try:
        nm.scan(hosts=hosts, arguments=' -v -sS -p ' + port)
    except Exception as e:
        print('Scan error.')

    for host in nm.all_hosts():
        print('---------------------------------------------------------')
        print('Host : %s (%s)' % (host, nm[host].hostname()))
        print('State : %s' % nm[host].state())
        for proto in nm[host].all_protocols():
            print('-------------')
            print('Protocol : %s' % proto)

            lport = nm[host][proto].keys()
            lport.sort()
            for port in lport:
                print('Port : %s/state :%s ' % (port, nm[host][proto][port]['state']))

if __name__ == '__main__':
    main()

这里我们pip 安装python-namp包,具体的详细方法请参考官网源码包中实例。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Nmap扫描原理与用法 1Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(...
    y0ungta1a阅读 10,765评论 0 50
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,699评论 6 427
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,962评论 4 418
  • nmap使用指南(终极版) 原创2017-09-09hl0rey信安之路 一、目标指定 1.CIDR标志位 192...
    用电热毯烤猪阅读 14,114评论 1 49
  • 一直不乐意看这个片子,主要原因还是对国产青春片有一种偏见,感觉总是离不开撕逼,哭喊,再加上说不清道不明的狗血剧情,...
    CG_Sir阅读 3,385评论 0 0