通過 python 獲取本機IP位址

2021-07-27 06:30:37 字數 730 閱讀 7028

函式 valid_ip 主要將 包含255,127.0.0.1,0.0.0.0等位址進行過濾,通過判斷返回false及true。

函式 get_ip 先通過ifconfig獲取當前ip位址資訊,接著通過match匹配出所有ip位址,然後通過filter將valid_ip 和 具體的ip位址進行過濾。最後得出本機ip位址。

#!/usr/bin/python

import os

import re

defvalid_ip

(ip):

if ("255"

in ip) or ( ip == "127.0.0.1") or ( ip == "0.0.0.0" ):

return

false

else:

return

true

defget_ip

(valid_ip):

ipss = ''.join(os.popen("ifconfig").readlines())

match = "\d\.\d\.\d\.\d"

ips = re.findall(match, ipss, flags=re.m)

ip = filter(valid_ip, ips)

return

''.join(ip)

ip_addr = get_ip(valid_ip)

print ip_addr

python通過UDP獲取本機IP

利用 udp 協議來實現的,生成乙個udp包,把自己的 ip 放如到 udp 協議頭中,然後從udp包中獲取本機的ip。這個方法並不會真實的向外部發包,所以用抓包工具是看不到的。但是會申請乙個 udp 的埠,所以如果經常呼叫也會比較耗時的,這裡如果需要可以將查詢到的ip給快取起來,效能可以獲得很大提...

Linux下通過python獲取本機ip方法示例

下面介紹在linux上利用python獲rvzxfghp取本機ip的方法.經過網上調查,發現大致有兩種方法,一種是呼叫shell指令碼,另一種是利用python中的s等模組來得到,下面是這兩種方法的原始碼 usr bin env python encoding utf 8 description g...

python 獲取本機 IP

這個方法是目前見過最優雅獲取本機伺服器的ip方法了。沒有任何的依賴,也沒有去猜測機器上的網路裝置資訊。而且是利用 udp 協議來實現的,生成乙個udp包,把自己的 ip 放如到 udp 協議頭中,然後從udp包中獲取本機的ip。這個方法並不會真實的向外部發包,所以用抓包工具是看不到的。但是會申請乙個...