前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python调用nmap完成扫描

Python调用nmap完成扫描

作者头像
逍遥子大表哥
发布2021-12-19 11:58:55
1.3K0
发布2021-12-19 11:58:55
举报
文章被收录于专栏:kali blog

本文将利用python调用nmap完成扫描,并将扫描结果通过表格的方式展示出来。以便扫描者更加清晰明了的观察扫描结果。

实验环境

  • Python3
  • nmap7.9

代码如下:

代码语言:javascript
复制
#!/usr/bin/env pthon
#--*--coding=utf-8--*--
#kali blog(https://blog.bbskali.cn)
#逍遥子大表哥
import os
from terminaltables import AsciiTable
 
gateway = input('YOU IP Address:')
print ("\033[31m稍等 正在扫描\033[0m")
print ("当前网关变量为:",gateway)
def scan():
    scan = os.popen("nmap " + gateway + " -n -P").read()
    f = open('scan.txt','w')
    f.write(scan)
    f.close()
    devices = os.popen(" grep report scan.txt | awk '{print $5}' ").read()
    
    devices_mac = os.popen("grep MAC scan.txt | awk '{print $3}'").read() + os.popen("ip addr | grep 'state UP' -A1 | tail -n1 | awk '{print $2}' | cut -f1  -d'/' ").read().upper() # get devices mac and localhost mac address
    devices_name = os.popen("grep MAC scan.txt | awk '{print $4 ,S$5 $6}'").read() + "\033[1;32m(本机)\033[1;m"
    port = os.popen(" grep tcp scan.txt -A 0  | awk '{print $1,$2}'  | cut -f1  -d'/' ").read()
    table_data = [
        ['IP Address', 'Mac Address', 'Manufacturer','port'],
        [devices, devices_mac, devices_name,port]
    ]
    table = AsciiTable(table_data)
    print(table.table)
    os.popen("rm -f scan.txt")
 
if __name__ == '__main__':
    scan()

扫描结果

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1921471

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实验环境
  • 代码如下:
  • 扫描结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档