python 实现批量域名转IP

前言

python里有一个模块,叫socket,提供了BSD socket 的通信接口,gethostbyname 返回的是主机名的IPv4 的地址格式,如果传入的参数是IPv4 的地址格式,则返回值跟参数一样,这个函数不支持IPv6 的域名解析。

实现过程

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

from socket import gethostbyname
DOMAIN = "./domain.txt"

with open(DOMAIN,'r') as f:
     for line in f.readlines():
        try:
            host = gethostbyname(line.strip('\n'))  #域名反解析得到的IP
        except Exception as e:
            with open('error.txt','a+') as ERR:  #error.txt为没有IP绑定的域名
                ERR.write(line.strip()+ '\n')
        else:
            with open('result.xlsx','a+') as r: #  ****.txt 里面存储的是批量解析后的结果
                r.write(line.strip('\n') + ' ')   #显示有ip绑定的域名,用空格隔开
                print(line, host)
                r.write(host + '\n')
                if host != "192.168.3.2":   #筛选特定结果,具体代码实现如下
                    if host != "192.168.3.3":
                        with open('result.txt', 'a+') as f:
                        	f.write(line.strip() +'  ') #存储筛选后的域名
                            f.write(host + '\n') #存储筛选后的IP
                    else:
                        pass
                else:
                    pass

输出测试结果:

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值