Python编程--目标IP地址段主机指定端口状态扫描

简介: Python编程--目标IP地址段主机指定端口状态扫描

Python编程–目标IP地址段主机指定端口状态扫描
渗透测试经常需要进行针对目标主机IP地址段的各主机的端口进行扫描,然后输出目标主机的开放端口的状态。现利用nmap-python模块编写一个扫描脚本程序。代码如下:

# 导入nmap模块
import nmap
# 定义findTgts函数,参数为subNet(目标子网), portLst(目标端口列表)
def findTgts(subNet, portLst):
   # 实例化nmap对象
    nmScan = nmap.PortScanner()
        # 遍历目标端口
    for port in portLst:
        nmScan.scan(subNet, str(port))
        # 建立一个目标主机空列表
        tgtHosts = []
        for host in nmScan.all_hosts():
            if nmScan[host].has_tcp(port):
              # 获取目标主机tcp协议的目标端口的状态
                state = nmScan[host]['tcp'][port]['state']
                # 判断端口状态是否开放
                if state == 'open':
                    print('[+] Found Target Host: ' + host + ' ' + 'port: ' + str(port) + ' open')
                    tgtHosts.append(host)

    return tgtHosts

if __name__ == '__main__':
    portLst = [21, 22, 25, 445]
    tgthosts = findTgts('192.168.31.33-240', portLst)

    print(tgthosts)

针对目标IP地址段(192.168.31.33-240)端口(21,22, 25, 445)进行扫描,结果如下所示:

[+] Found Target Host: 192.168.31.82 port: 21 open
[+] Found Target Host: 192.168.31.82 port: 22 open
[+] Found Target Host: 192.168.31.113 port: 445 open
[+] Found Target Host: 192.168.31.192 port: 445 open
['192.168.31.82', '192.168.31.113', '192.168.31.192']
相关文章
|
JSON 测试技术 API
优化你的 REST Assured 测试:设置默认主机与端口、GET 请求与断言
REST Assured 是一个强大的 Java 库,用于简化 RESTful API 测试。本文详解了其核心功能:设置默认主机和端口以减少代码重复、发起 GET 请求并验证响应结果,以及通过断言确保接口行为符合预期。同时推荐 Apipost 工具,助力开发者提升 API 测试效率,实现更高效的接口管理与团队协作。掌握这些技巧,可显著优化测试流程与代码质量。
|
网络安全 Python
Python网络编程小示例:生成CIDR表示的IP地址范围
本文介绍了如何使用Python生成CIDR表示的IP地址范围,通过解析CIDR字符串,将其转换为二进制形式,应用子网掩码,最终生成该CIDR块内所有可用的IP地址列表。示例代码利用了Python的`ipaddress`模块,展示了从指定CIDR表达式中提取所有IP地址的过程。
677 6
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
963 5
|
网络协议 Python
IP地址探秘:识别与解析的Python之旅 🚀
《IP地址探秘:识别与解析的Python之旅》通过Python的`ipaddress`模块,轻松实现IP地址的分类(如单播、多播、私有、环回或公有)及子网内所有IP的生成,使网络管理更加便捷高效。示例代码直观展示了功能实现过程。
289 1
|
Python
Python编程--使用NMAP端口扫描
Python编程--使用NMAP端口扫描
296 1
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
419 0
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
524 0
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
367 0
|
9月前
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
7月前
|
网络协议
端口最多只有65535个,为什么服务器能承受百万并发
服务器通过四元组(源IP、源端口、目标IP、目标端口)识别不同TCP连接,每条连接对应独立socket。数据包携带四元组信息,服务端据此查找对应socket进行通信。只要四元组任一元素不同,即视为新连接,可创建独立socket。资源充足时,单进程可支持百万级并发连接,socket与端口非一一对应。
505 10
端口最多只有65535个,为什么服务器能承受百万并发

热门文章

最新文章

推荐镜像

更多
下一篇
开通oss服务