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

文章目录

  • 一、python获取IP
  • 二、Django获取IP


一、python获取IP

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')

返回结果
【信息收集】用python获取IP(本机私网、公网、由域名获取IP)(五)_第1张图片

二、Django获取IP

user_ip = request.META.get('REMOTE_ADDR')

你可能感兴趣的:(漏扫工具开发,网络安全,网络,python)