首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >利用python脚本检查网段在线IP

利用python脚本检查网段在线IP

作者头像
IT不难
发布于 2022-04-23 08:52:06
发布于 2022-04-23 08:52:06
1.7K0
举报
文章被收录于专栏:IT不难技术家园IT不难技术家园

前言

ip段分配给项目之后,不清楚项目组已经使用了那些IP,用一个脚本检查当前在线IP

脚本

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
Created on 2021-11-07 21:16:39
---------
@summary:
检查IP段存活IP
---------
@author: wxzy
"""
import os
import sys
import argparse
import ipaddress
from ping3 import ping


#定义变量
PROJECT = {
    '项目一': [
        '49.119.110.0/24',
        ],
    '项目三': [
        '60.13.119.176/28',
        ],
    '项目四': [
        '60.190.118.128/25',
        ],
    '项目五': [
        '61.128.125.0/25',
        '61.138.119.160/28',
        '61.234.118.0/25',
        ],
}


def ip_ping(ip_addr):
    """
    检查IP是否存活
    """
    os_code = ping(str(ip_addr),timeout=0.5)
    return os_code


def ping_check_alive(datadict):
    """
    检查存活ip
    """
    for name, nets in datadict.items():
        for net in nets:
            i = 1
            ip_net = ipaddress.ip_network(net, strict=False)
            for ip in ip_net.hosts():
                if ip_ping(ip):
                    print('{}-{}-{},{};'.format(name, net, ip, ip))
                    i += 1
                    #if i > 1:
                    #    break


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="检查网段存活IP")
    parser.add_argument("-c", "--check", action="store_true", help="检查项目存活IP")

    if not sys.argv[1:]:
        sys.argv.extend(['-h'])

    args = parser.parse_args()

    if args.check:
        ping_check_alive(PROJECT)

    exit()

执行

代码语言:javascript
复制
python3  check_alive.py

本文共 83 个字数,平均阅读时长 ≈ 1分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 前言
  • 脚本
  • 执行
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档