简单的扫描工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import nmap import argparse def get_parameter(): parser = argparse.ArgumentParser(description = '该脚本用于探查主机存活情况' ) parser.add_argument( '-n' ,dest = 'networkPrefix' , type = str ,default = ' ',help=' 输入待探测主机网段范围') parser.add_argument( '-s' ,dest = 'status' , type = str ,default = 'up' , help = '选择打印的主机状态,默认为UP' ) args = parser.parse_args() networkPrefix = args.networkPrefix status = args.status.lower() return networkPrefix,status def nmap_ping_scan(networkPrefix): nm = nmap.PortScanner() result = nm.scan(hosts = networkPrefix,arguments = '-v -n -sn' ) return result def main(): networkPrefix,status = get_parameter() result = nmap_ping_scan(networkPrefix) for clientIP,clientInfo in result[ 'scan' ].items(): clientStatus = clientInfo[ 'status' ][ 'state' ] if status = = clientStatus: print ( '{:<15} is {}' . format (clientIP,clientStatus)) if __name__ = = '__main__' : main() |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步