0
点赞
收藏
分享

微信扫一扫

信息收集篇—用python获取IP(本机私网、公网、由域名获取IP)

陌岛 2022-04-13 阅读 82

文章目录


一、代码

import socket
from urllib.request import urlopen

# 公网地址
def public():
    with urlopen(r'http://ip.42.pl/raw') as fd:
        f = fd.read().decode()
    print(f)

# 私网,socket方法
def private():
    print('当前主机名称为 : ' + socket.gethostname())
    print('当前主机的IP为: ' + socket.gethostbyname(socket.gethostname()))

    # Mac下上述方法均返回127.0.0.1,通过使用socket中的getaddrinfo中的函数获取真真的IP
    # 下方代码为获取当前主机IPV4 和IPV6的所有IP地址(所有系统均通用)
    addrs = socket.getaddrinfo(socket.gethostname(), None)
    for item in addrs:
        print(item)

# 由传入的域名获取IP地址
def get_ip(ip):
    data = socket.gethostbyname(ip)
    print(data)

if __name__ == '__main__':
    private()
    print('-----------------------------------------')
    public()
    print('-----------------------------------------')
    get_ip('baidu.com')

二、返回结果

在这里插入图片描述


举报

相关推荐

0 条评论