首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python socket.gethostbyaddr(ip)

Python socket.gethostbyaddr(ip)
EN

Stack Overflow用户
提问于 2022-10-27 19:42:34
回答 1查看 25关注 0票数 0

试图从IP和主机名列表中获取主机名--当它解析IP地址时,我没有得到想要的返回,它仍然只是返回一个IP。

示例: 192.10.20.1输出:查找主机名192.10.20.1,而不是将其转换为主机名。

代码语言:javascript
复制
def reverse_dns(IP):
    try:
        socket.gethostbyaddr(IP)
        print ('Found hostname', IP)
        return (True)
    except socket.error :
        print (IP)
        return (False)

def get_hostname (x) :
    hostname= []

    device = 'is blank'
    for device in x : 
        if reverse_dns(device) :
            hostname.append(device)
    return (hostname)

df['hostname'] = df['ips'].apply(get_hostname)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-27 20:03:51

您需要返回gethostbyaddr()返回的主机名。然后

代码语言:javascript
复制
def reverse_dns(IP):
    try:
        hostname, aliaslist, ipaddrlist = socket.gethostbyaddr(IP)
        print ('Found hostname', IP)
        return hostname
    except socket.error :
        print (IP)
        return (False)

def get_hostname (x) :
    hostname= []

    for device in x : 
        hostname.append(reverse_dns(device) or 'is blank')
    return (hostname)

df['ips'] = df['hostname'].apply(get_hostname)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74227491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档