python获取本机所有IP地址的方法
本文实例为大家分享了python获取本机所有IP地址的具体代码,供大家参考,具体内容如下
import socket
# 查看当前主机名
print('当前主机名称为 : ' + socket.gethostname())
# 根据主机名称获取当前IP
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)
# 仅获取当前IPV4地址
print('当前主机IPV4地址为:' + [item[4][0] for item in addrs if ':' not in item[4][0]][0])
# 同上仅获取当前IPV4地址
for item in addrs:
if ':' not in item[4][0]:
print('当前主机IPV4地址为:' + item[4][0])
break
运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python基础教程之获取本机ip数据包示例
这几天用到了raw socket,用python写了些demo程序,这里记录下. 首先我们看一个简单的sniffer程序: 复制代码 代码如下: #! /usr/bin/python# code for linuximport socket#s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP)s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.I
-
python 获取本机ip地址的两个方法
第一种: 复制代码 代码如下: import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24]
-
python简单获取本机计算机名和IP地址的方法
本文实例讲述了python简单获取本机计算机名和IP地址的方法.分享给大家供大家参考.具体实现方法如下: 方法一: >>> import socket >>> hostname = socket.gethostname() >>> print hostname china-43226208c >>>ip = socket.gethostbyname(hostname) >>>print ip 192.168.3.19
-
python获取本机外网ip的方法
本文实例讲述了python获取本机外网ip的方法.分享给大家供大家参考.具体如下: python从显示ip地址的网站获取本机外网ip,这段python代码抓取网站上的ip地址信息 import urllib import re print "we will try to open this url, in order to get IP Address" url = "http://checkip.dyndns.org" print url request = ur
-
Linux下通过python获取本机ip方法示例
下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码: #!/usr/bin/env python #encoding: utf-8 #description: get local ip address import os import socket, fcntl, struct def get_ip(): #注意外围使用双引号而非单引号,并且假设默
-
Python获取Linux系统下的本机IP地址代码分享
有时候使用到获取本机IP,就采用以下方式进行. 复制代码 代码如下: #!/usr/bin/python import socket import struct import fcntl def getip(ethname): s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0X8915, struct.pack('256s', e
-
python在windows和linux下获得本机本地ip地址方法小结
本文实例总结了python在windows和linux下获得本机本地ip地址方法.分享给大家供大家参考.具体分析如下: python的socket包含了丰富的函数和方法可以获得本机的ip地址信息,socket对象的gethostbyname方法可以根据主机名获得本机ip地址,socket对象的gethostbyname_ex方法可以获得本机所有ip地址列表 第一种方法:通过socket.gethostbyname方法获得 import socket localIP = socket.gethos
-
Python获取本机所有网卡ip,掩码和广播地址实例代码
本文主要研究的是使用Python获取本机所有网卡ip,掩码和广播地址,分享了相关的实例代码,具体介绍如下. 搜了一天,竟然没找到一段合适的代码来获取机器中所有网卡的ip,掩码和广播地址,大部分都是用socket,但是socket通常返回的要不就是内网地址,要不就是公网地址,不能够找到所有地址,真的太忧桑了,决定自己通过ifconfig或ipconfig的返回信息,一步步地过滤了.这次的代码主要用到了正则表达式和subprocess模块,而且为了兼容所有平台(win,linux和mac),也用到了
-
python获取本机mac地址和ip地址的方法
本文实例讲述了python获取本机mac地址和ip地址的方法.分享给大家供大家参考.具体如下: import sys, socket def getipaddrs(hostname): result = socket.getaddrinfo(hostname,None,0,socket.SOCK_STREAM) return [x[4][0] for x in result] # the name of the local machine hostname = socket.gethostnam
-
python在Windows8下获取本机ip地址的方法
本文实例讲述了python在Windows8下获取本机ip地址的方法.分享给大家供大家参考.具体实现方法如下: import socket hostname = socket.gethostname() IPinfo = socket.gethostbyname_ex(hostname) LocalIP = IPinfo[2][2] print LocalIP 希望本文所述对大家的Python程序设计有所帮助.
随机推荐
- Linux下安装或升级Python 2.7的操作方法
- jQuery fadeOut 异步实例代码详解
- 自动复制U盘文件的VBS脚本
- Oracle 下的开发日积月累
- jquery库文件略庞大用纯js替换jquery的方法
- php使用变量动态创建类的对象用法示例
- 简单介绍PHP非阻塞模式
- jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
- 简单谈谈jQuery(function(){})与(function(){})(jQuery)
- javascript省市级联功能实现方法实例详解
- 获取HTML DOM节点元素的方法的总结
- linux c++模拟简易网络爬虫实例
- Android开发之资源目录assets与res/raw的区别分析
- window resize和scroll事件的基本优化思路
- Python实现简单网页图片抓取完整代码实例
- python web.py开发httpserver解决跨域问题实例解析
- java中Swing五种常见的布局方式
- java 判断一个数组中的数值是否连续相邻的方法
- python脚本实现验证码识别
- C++基于消息队列的多线程实现示例代码
