解析IP地址信息并返回迭代列表。

ipparser的Python项目详细描述


ipparser

创建ipparser python模块是为了在创建其他安全或网络工具时简化接受ipv4地址、dns名称和目标/主机信息。获取并分析用户输入,以提供可用于迭代的IPv4地址或DNS名称列表。如果使用resolve=True调用,ipparser将尝试执行“a”记录查找并返回为主机找到的所有IP地址。

输入:

ipparser当前接受以下用户输入:

  • 单IP(192.168.1.10)
  • IP范围(192.168.1.1-55)
  • 多个IP(192.168.1.3192.168.1.7,m8r0wn.com)
  • CIDR范围/8-/32(192.168.1.0/24)
  • 网址(https://m8r0wn.com/demo
  • IP:端口(192.168.1.1:8080)
  • DNS名称(m8r0wn.com)
  • TXT文件(包含列出的任何项)

安装

pip3 install ipparser

git clone https://github.com/m8r0wn/ipparser
cd ipparser
python3 setup.py install

用法:

可以使用以下参数调用ipparser函数(以默认值显示):

  • resolve=False-解析标识的任何dns名称,解析到ipv4地址,并追加到输出。
  • silent=False-解析时不显示错误。
  • ^
  • debug=False-显示调试的输入分类。

示例

>>>fromipparserimportipparser>>>ipparser('192.168.1.3-5')['192.168.1.3','192.168.1.4','192.168.1.5']>>>ipparser('yahoo.com',resolve=True)['98.138.219.232','98.138.219.231','72.30.35.9','72.30.35.10','98.137.246.7','98.137.246.8']>>>ipparser('example',resolve=True,exit_on_error=False)IPParserError:Invalidorunsupportedinputprovided'example'>>>ipparser('192.168.1.1,yahoo.com')['192.168.1.1','yahoo.com']ipparser('192.168.1.1,yahoo.com,example',resolve=True,exit_on_error=False)IPParserError:Invalidorunsupportedinputprovided'example'['192.168.1.1','98.138.219.231','98.137.246.8','98.137.246.7','72.30.35.9','98.138.219.232','72.30.35.10']>>>ipparser('192.168.1.1,yahoo.com,example',resolve=True,silent=True)['192.168.1.1','72.30.35.10','98.138.219.231','98.137.246.7','98.137.246.8','72.30.35.9','98.138.219.232']

argparse集成

  • 标准参数:
fromipparserimportipparserfromargparseimportArgumentParserargs=ArgumentParser(description='ipparser integration with argparse')args.add_argument('-host',dest='host',default=False,type=lambdax:ipparser(x),help='Host Input')args=args.parse_args()
Namespace(host=['192.168.1.1'])
  • 必需的位置参数(方法1):
fromipparserimportipparserfromargparseimportArgumentParserargs=ArgumentParser(description='ipparser integration with argparse')args.add_argument(dest='positional_host',nargs='+',type=lambdax:ipparser(x,resolve=False),help='Host Input')args=args.parse_args()
Namespace(positional_host=[['192.168.1.1']])
  • 必需的位置参数(方法2):
fromipparserimportipparserfromargparseimportArgumentParserargs=ArgumentParser(description='ipparser integration with argparse')args.add_argument(dest='positional_host',nargs='+',help='Host Input')args=args.parse_args()args.positional_host=ipparser(args.positional_host[0])
positional_host=['192.168.1.1'])
  • 允许用户参数确定解析设置:
fromsysimportargvfromipparserimportipparserfromargparseimportArgumentParserr=Falseif"-r"inargv:r=Trueargs=ArgumentParser(description='ipparser integration with argparse')args.add_argument('-r',dest='resolve',action='store_true',help='Resolve input DNS hosts')args.add_argument(dest='positional_host',nargs='+',type=lambdax:ipparser(x,resolve=r),help='Host Input')args=args.parse_args()

sys.argv用法

  • 标准参数
fromsysimportargvfromipparserimportipparserif"-host"inargv:host=ipparser(argv[argv.index("-host")+1])
host = ['192.168.1.1']
  • 位置参数
fromsysimportargvfromipparserimportipparserhost=ipparser(argv[-1])
host = ['192.168.1.1']

贡献者

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓中通过TCP发送时java文件损坏   Java测试预期=异常失败,断言错误   java ssh4 LazyInitializationException   java是否可以在集合中添加重复项?   java是一个免费的开源数据库管理工具   java是否可以在导出的html中嵌入图像   编译器构造解释一些东西,并用Java运行生成的字节码?   java KeyPairGenerator未生成随机密钥   java使用正则表达式生成字符串而不是匹配字符串   java中的多线程线程间通信   具有复合密钥的java Hibernate合并问题   java不能在MainActivity类之外使用SharedReferences变量   正在获取切割/零件异常消息。使用java Spring ControllerAdvice   java tomcat漏洞讨论   javascript在Java中实现“system”命令   java如何在JUnit5*中加载*Spring测试上下文之前获取回调?   java bluej关于缺少返回语句   JavaSpringBoot@ModelAttribute包含使用字符串键的其他模型   从可选中抛出异常。ifPresent()Java 8