扫描端口命令 个人电脑搭建服务器

使用python模块n***p,读取excel数据来探测和扫描多个ip端口。如果我打个响指,每个人都会失去一个睾丸。。。1.工欲善其事,必先利其器。安装python-n***p模块。检查pip list #cmd或powershell下已安装的模块。至于pip命令环境变量,自己解决pip安装python-n***p。编写简单的...

使用python模块n***p,读取excel数据来探测和扫描多个ip端口。

如果我打个响指,每个人都会失去一个睾丸。。。

1.工欲善其事,必先利其器。安装python-n***p模块。

检查pip list #cmd或powershell下已安装的模块。至于pip命令环境变量,自己解决pip安装python-n***p。

编写简单的n***p单端口跑一下看看效果。'''如果安装了python-n***p模块还不能使用,那就自行安装n***p图形化界面,然后添加到环境变量里,这样就ok了,我的就是这样;'''import n***p np = n***p.PortScanner() a = np.scan(hosts='42.247.22.192',ports='80',arguments='-v -n -T4')print(a)

返回结果: (重要的地方我已标红,主要就是看返回端口状态和服务名)结果:(我用红色标出了重要的地方,主要是看返回端口的状态和服务名)

{'n***p': {'com***nd_line': 'n***p -oX - -p 80 -v -n -T4 42.247.22.192', 'scaninfo': {'tcp': {'method': 'syn', 'services': '80'}}, 'scanstats': {'timestr': 'Thu Jun 10 11:31:57 2021', 'elapsed': '1.72', 'uphosts': '1', 'downhosts': '0', 'totalhosts': '1'}}, 'scan': {'42.247.22.192': {'hostnames': [{'name': '', 'type': ''}], 'addresses': {'ipv4': '42.247.22.192'}, 'vendor': {}, 'status': {'state': 'up', 'reason': 'syn-ack'}, 'tcp': {80: {'state': 'open', 'reason': 'syn-ack', 'name': 'http','product': '', 'version': '', 'extrainfo': '', 'conf': '3', 'cpe': ''}}}}}2、下面对得到的数据整理一下输出,让他看起来简洁一些import n***p np = n***p.PortScanner() a = np.scan(hosts='42.247.22.192',ports='80',arguments='-v -n -T4')ip = '42.247.22.192'for i in a['scan'][ip]['tcp'].keys(): state = a['scan'][ip]['tcp'][i]['state'] name = a['scan'][ip]['tcp'][i]['name'] print(ip,i,state,name)返回结果: 42.247.22.192 80 open http

看起来整洁多了。

关于excel读取和线程的代码我直接贴上来了,今天就不赘述了。。

3.用python调用excel模块和线程模块,读取excel数据,扫描多条数据。

import n***pimport threadingfrom openpyxl import load_workbookfrom xlwt import Workbookwk = Workbook(encoding='utf-8')wsheet = wk.add_sheet('Worksheet')co = {}ls = []def read_excel_file(): wb = load_workbook('test/diqu.xlsx') #读取excel文件 # sheets = wb.get_sheet_names() # print(sheets) sheet = wb['暴露面资产全量'] # print(sheet) m = sheet['G'] #读取excelG列,我的G列是 ip:port,例:1.1.1.1:80 for cell in m: #这个for循环用于分割ip和端口,存到co字典 # print(cell.value) mn = cell.value.split(':') if mn[0] in co: co[mn[0]].append(mn[1]) else: try: co[mn[0]] = [mn[1]] except: co[mn[0]] = []def thread(ip_port): # 设置线程 thread_num = threading.Se***phore(20) # 设置线程数 thread_list = [] for IP, port in ip_port.items(): # 创建线程 t = threading.Thread(target=n***p_ping_scan, args=(IP, port, thread_num,)) thread_list.append(t) # print(t) for t in thread_list: # 开始线程 t.start() for t in thread_list: # 等待线程 t.join() print('线程结束')def n***p_ping_scan(ip,port,thread_num): #使用n***p扫描,结果存入ls列表 global ls strport = ','.join(ports for ports in port) thread_num.acquire() # 线程锁 try: nm = n***p.PortScanner() global result np = nm.scan(hosts=ip,ports=strport,arguments="-v -n -T4") for i in np['scan'][ip]['tcp'].keys(): state = np['scan'][ip]['tcp'][i]['state'] name = np['scan'][ip]['tcp'][i]['name'] ls.extend([[ip,i,state,name]]) # print(ip,i,state) except Exception as e: # print(e) pass thread_num.release()def excel_write(ls): #把ls列表的数据保存到新的excel中 try: for u in range(len(ls)): p = 0 for k in ls[u]: wsheet.write(u,p,k) p += 1 # print(u,p,k) except: passif __name__ == '__***in__': #程序启动 read_excel_file() thread(co) excel_write(ls) # print(ls) wk.save('ceshi.xls') # n***p_dan_scan(co) # print(ls)#ok,上述就是全部代码了,上面是开了线程的,下面再加个单线程的方法吧#使用方法,把def thread 和 def n***p_ping_scan 注释掉# 再最后if里把 n***p_dan_scan(co) 注释解掉,上面俩个调用注释掉就行。def n***p_dan_scan(ip_port): #单线程跑跑 for ip,port in ip_port.items(): strport = ','.join(ports for ports in port) try: nm = n***p.PortScanner() np = nm.scan(hosts=ip,ports=strport,arguments="-v -n -T4") for i in np['scan'][ip]['tcp'].keys(): state = np['scan'][ip]['tcp'][i]['state'] print(ip,i,state) except: pass 扫描的结果大概就是这个样子。

#注意#如果不想用脚本那么麻烦,建议使用***sscan命令,扫描时有时会有波动,多数情况下是好的;(我在centos下跑步)

写个日常用的栗子:***ss can-P0-65535-ilip . txt –rate = 2000 & gt***sscan-scan.txt

本文来自挽梦忆笙歌投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/580004.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-06
下一篇 06-06

相关推荐

  • 家用路由器百兆端口和千兆端口的区别 最具特性的4个区别

    如今,无论是工作还是生活,人们都非常依赖互联网。随着智能电子设备越来越多,定位器刷微博,用ipad看***,一个人在同一个网络环境下甚至同时有几个设备在使用网络。这种快速上升的需求也使得人们对网络的要求越来越高。很多人认为好的网络环境必须有千兆路由器等高设备支撑

    2023-07-24 10:30:01
    187 0
  • centos7打开防火墙端口 centos7防火墙开放端口

    为了服务器的安全,建议打开防火墙,但此时某些服务将无法访问。你可以用下面的方法打开你需要的端口号。1]首先检查防火墙状态。firewall-cmd --state如果出现以下情况:防火墙已关闭。not running下面是centos7关闭防火墙的方法:关闭防火墙:systemctl stop firewalld.service

    2023-07-16 10:12:01
    435 0
  • 路由器千兆端口和百兆端口区别 2种端口优劣势对比

    随着互联网的快速发展,宽带已经进入千家万户。选择一款适合自己的路由器成了重中之重。1.路由器在物理上分为百兆路由器和千兆路由器。百兆端口:当接入带宽小于100M时,我们可以只选择百兆路由器。2千兆端口:相反,当宽带大于等于100M时,我们不得不选择千兆端口的路由器。注

    2023-07-14 03:47:01
    563 0
  • 怎么查看本机ip和端口(怎样查看ip)

    环境:华为S5735S-S24T4S-***RP软件,版本5.170 (S5735V200R019C10PC500)华为S5720-28P-Li-ACVRP软件,版本5.170 (S5720v200r011c 10spc600问题描述:华为交换机如何根据一个已知的IP,检查其对应的MAC地址和交换机端口命令?解决方案:华为交换机根据一个已知的IP,检查其对应的

    2023-07-13 22:10:01
    623 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信