iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现获取内网IP地址的方法总结
  • 412
分享到

Python实现获取内网IP地址的方法总结

Python获取内网IP地址Python获取IP地址PythonIP地址 2023-03-24 11:03:07 412人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录方法一方法二方法三(三方模块)方法四(linux)方法五(windows)方法一 import Socket def get_local_ip_address(): i

方法一

import Socket

def get_local_ip_address():
    ip_address = ''
    try:
        # 获取本机主机名
        hostname = socket.gethostname()
        # 获取本机IP
        ip_address = socket.gethostbyname(hostname)
    except:
        pass
    return ip_address

方法二

import subprocess

def get_local_ip_address():
    ip_address = ''
    try:
        # 获取IP地址
        ip_address = subprocess.check_output(['hostname', '-I']).decode('utf-8').strip()
    except:
        pass
    return ip_address

该方法利用了Unix系统上的hostname命令来获取IP地址,并返回字符串格式的IP地址。如果你使用的是Windows系统,则需要使用ipconfig命令。你可以在subprocess.check_output中传递正确的命令,以便在Windows上获取IP地址。

import socket

def get_local_ip_address():
    ip_address = ''
    try:
        # 获取IP地址
        ip_address = socket.getaddrinfo(socket.gethostname(), None, family=socket.AF_INET, proto=socket.IPPROTO_tcp)[0][4][0]
    except:
        pass
    return ip_address

该方法利用getaddrinfo函数获取计算机的IP地址,并返回字符串格式的IP地址。

方法三(三方模块)

import netifaces

def get_local_ip_address():
    ip_address = ''
    try:
        # 获取网络接口列表
        interfaces = netifaces.interfaces()
        # 查找第一个非本地回环接口的IP地址
        for interface in interfaces:
            if interface == 'lo':
                continue
            addresses = netifaces.ifaddresses(interface)
            ip_addresses = addresses.get(netifaces.AF_INET)
            if ip_addresses:
                ip_address = ip_addresses[0]['addr']
                break
    except:
        pass
    return ip_address

该方法使用netifaces模块来获取计算机的网络接口列表,并查找第一个非本地回环接口的IP地址。然后,它返回一个字符串格式的IP地址。

方法四(Linux)

如果你是在Linux系统上运行python程序,可以使用ifconfig命令来获取内网IP地址。以下是一个可以在Linux系统上使用的Python函数:

import subprocess

def get_local_ip_address():
    ip_address = ''
    try:
        # 获取IP地址
        output = subprocess.check_output(['ifconfig']).decode('utf-8')
        lines = output.split('\n')
        for line in lines:
            if 'inet ' in line and not line.startswith('127.0.0.1'):
                ip_address = line.split()[1]
                break
    except:
        pass
    return ip_address

该方法使用subprocess模块来运行Linux ifconfig命令,并从命令输出中提取IP地址。它返回一个字符串格式的IP地址。

请注意,该方法仅适用于Linux系统。如果你使用的是其他操作系统,请使用前面提到的方法之一来获取计算机的内部IP地址。

方法五(windows)

import os


def get_local_ip_address():
    ip_address = ''
    try:
        # 获取IP地址
        ipconfig_process = os.popen('ipconfig')
        ipconfig_output = ipconfig_process.read()
        ipconfig_process.close()
        for line in ipconfig_output.split('\n'):
            if 'IPv4' in line:
                ip_address = line.split(': ')[-1]
            break
    except:
        pass
    return ip_address

到此这篇关于Python实现获取内网IP地址的方法总结的文章就介绍到这了,更多相关Python获取内网IP地址内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python实现获取内网IP地址的方法总结

本文链接: https://www.lsjlt.com/news/201130.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现获取内网IP地址的方法总结
    目录方法一方法二方法三(三方模块)方法四(Linux)方法五(windows)方法一 import socket def get_local_ip_address(): i...
    99+
    2023-03-24
    Python获取内网IP地址 Python获取IP地址 Python IP地址
  • Python如何实现获取内网IP地址
    本文小编为大家详细介绍“Python如何实现获取内网IP地址”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现获取内网IP地址”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法一import&n...
    99+
    2023-07-05
  • Java获取本机IP地址的三种方法总结
    目录1 获取局域网IP地址2 获取全部 IPV4/IPV6 IP地址3 获取全部存放本机IP地址知识点补充1 获取局域网IP地址 InetAddress.getLocalHost()...
    99+
    2024-04-02
  • Java实现获取内网的所有IP地址
    目录题目描述代码详解效果展示题目描述 在进行网络编程时,有时需要对局域网的所有主机进行遍历,为此需要获得内网的所以IP地址 题目实现:获得内网的所有IP地址的小应用。 解题思路 创建...
    99+
    2024-04-02
  • python获取网卡IP地址
      #!/usr/bin/env python # -*- coding: utf-8 -*-  import socket import fcntl import struct  def get_ip_address(ifname):  ...
    99+
    2023-01-31
    网卡 地址 python
  • Java如何实现获取内网的所有IP地址
    本篇内容主要讲解“Java如何实现获取内网的所有IP地址”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java如何实现获取内网的所有IP地址”吧!题目描述在进行网络编程时,有时需要对局域网的所有...
    99+
    2023-07-02
  • 获取对方IP地址和获取目标MAC地址的方法
    获取对方IP地址的方法: 1,直接知道对方的IP地址 2,通过域名获取对方的IP地址 (本质上还是直接通过IP进行访问,因为通过域名访问时,需要在DNS服务器中查找域名对应的IP地址,知道对方IP地址...
    99+
    2023-09-04
    网络
  • python实现获取服务器IP地址
    第一种:#!/usr/bin/env pythonimport  osip=os.popen("ifconfig eth0 | awk -F [:' ']+ 'NR==2{print $4}'")print ip.readline()第二种...
    99+
    2023-01-31
    地址 服务器 python
  • springboot获取真实ip地址的方法实例
    需求是用户在登录时,密码输错了5次以上要将这个ip禁用,所以如题,我需要在登录接口代码中获得这次请求的原始ip地址。禁用ip的逻辑已经写好了,目前痛点是获取ip地址,也正是这块代码让...
    99+
    2024-04-02
  • Python获取本机IP地址的方法有哪些
    这篇文章主要介绍“Python获取本机IP地址的方法有哪些”,在日常操作中,相信很多人在Python获取本机IP地址的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python获取本机IP地址的方法...
    99+
    2023-06-29
  • 分享Python获取本机IP地址的几种方法
    目录1、使用专用网站2、使用自带socket库3、使用第三方netifaces库1、使用专用网站 获取的是公网IP 网址:http://myip.ipip.net 代码: impor...
    99+
    2024-04-02
  • java实现通过IP地址获取mac(物理地址)
    java实现通过IP地址获取mac(物理地址),只能获取到局域网的mac地址,具体代码如下: package com.qcmsa.util;import org.apache.commons.log...
    99+
    2023-09-01
    java tcp/ip macos
  • 电脑获取ip地址的方法有哪些
    电脑获取IP地址的方法有以下几种:1. 使用命令提示符:在Windows系统中,可以打开命令提示符窗口,然后输入"ipco...
    99+
    2023-09-07
    电脑
  • JS获取本机IP地址的2种方法
    目录1.获取本机IP地址方法1:2.获取本机IP地址方法2解决方案:总结1.获取本机IP地址方法1: if(typeof window != 'undefined'){     va...
    99+
    2024-04-02
  • Android通用方法获取mac地址和以太网信息ip地址、网关、dns等
    1.关于获取mac地址的一些方法 第一种方法:读取sys/class/net/路径下的文件 FileInputStream fis_name = null; FileInputStream fis = null; ...
    99+
    2023-09-01
    tcp/ip 网络协议 Android开发
  • Windows XP中获取未使用IP地址方法
    作为网管员,在我们解决Windows 操作系统的DHCP故障时,有时要找出某个地址范围内有哪些地址没有被使用。本人以前介绍过一种方法:打开命令提示窗口,在For…in…Do循环中调用ping命...
    99+
    2023-05-26
    xp自动获取ip地址 xp自动获取ip Windows XP IP 地址 方法
  • Java利用ip2region实现获取IP地址详情
    最近有个需求是通过ip地址获取地址详情,没有弄过相关的接口,通过查资料搞定之后赶紧记录分享一下 一开始我是通过api的方法获取但是总是报错获取不到所以改用了ip2region离线ip...
    99+
    2024-04-02
  • java怎么实现获取客户端ip地址
    这篇“java怎么实现获取客户端ip地址”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java怎么实现获取客户端ip地址”文...
    99+
    2023-06-29
  • Linux上如何获取你的公网IP地址
    这篇文章将为大家详细讲解有关Linux上如何获取你的公网IP地址,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux上获取你的公网IP地址在办公或家庭环境,我们的虚拟机或服务器上配置的通常是内网 IP...
    99+
    2023-06-27
  • Python实现读取文件的方法总结
    目录序言1、方法介绍2、 默认读取3、处理一个文件4、处理批量文件5、读取与备份6、重定向替换7、进阶总结序言 哈喽兄弟们,今天咱们来了解一下 fileinput 。 说到filei...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作