lua判断是否是私有IP地址

ngx_lua模块,判断nginx的$remote_addr取到之后是否属于私有IP

local current_remote_addr = "192.168.1.1"

local ip_decimal = 0
local postion = 3
for i in string.gmatch(current_remote_addr, [[%d+]]) do
    ip_decimal = ip_decimal + math.pow(256, postion) * i
    postion = postion - 1
end

if ip_decimal >= 0x7f000000 and ip_decimal <= 0x7fffffff or -- 127.0.0.0 ~ 127.255.255.255
    ip_decimal >= 0x0a000000 and ip_decimal <= 0x0affffff or -- 10.0.0.0 ~ 10.255.255.255
    ip_decimal >= 0xac100000 and ip_decimal <= 0xac1fffff or -- 172.16.0.0 ~ 172.31.255.255
    ip_decimal >= 0xc0a80000 and ip_decimal <= 0xc0a8ffff then   -- 192.168.0.0 ~ 192.168.255.255
    print(current_remote_addr.." is a private ip")
else
    print(current_remote_addr.." is not a private ip")
end
<think>好的,我需要帮助用户查看本地IP地址。用户的问题是如何在不同操作系统上获取本地IP地址,可能包括Windows、Linux和macOS。首先,我得回忆之前提供的引用内容,看看有没有相关的步骤。引用[1]提到在Windows中使用命令提示符,比如ipconfig命令。引用[2]则说明了Linux下使用ifconfig或ip命令。而引用[3]涉及Lua脚本获取IP,但用户可能更倾向于直接的系统命令。 接下来,我需要整理这些信息,分步骤说明每个操作系统的查看方法。例如,在Windows中,用户可以通过命令提示符输入ipconfig,然后查找IPv4地址。对于Linux,可能需要使用ifconfig或者ip addr show命令,指出某些新系统可能用ip代替ifconfig。macOS虽然基于Unix,但通常也使用ifconfig,不过可能需要指定网络接口,比如en0。 另外,用户可能还需要图形界面的方法,比如在Windows的网络设置中查看,或者在Linux的GNOME设置里找网络信息。此外,需要提醒用户注意区分本地IP和公网IP,本地IP通常是192.168.x.x或10.x.x.x这样的私有地址。 可能还需要补充一些常见问题,比如命令不存在时的解决方法,如安装net-tools包。同时,要确保步骤清晰,避免使用专业术语过多,让用户容易理解。最后,生成相关问题,帮助用户进一步解决可能遇到的问题,比如如何查找公网IP,或者IP地址冲突怎么办。</think>### 如何查看本地IP地址? 本地IP地址是设备在局域网内的唯一标识符,通常用于设备间的通信。以下是不同操作系统的查看方法: --- #### **Windows系统** 1. **方法1:命令提示符** - 按下 `Win + R`,输入 `cmd` 后回车 - 输入命令 `ipconfig`,在输出结果中找到 `IPv4 地址`(例如 `192.168.1.10`)[^1] ```bash ipconfig ``` 2. **方法2:图形界面** - 打开“设置” → “网络和Internet” → “以太网/无线网络” - 点击当前连接的网络,查看“属性”中的IPv4地址 --- #### **Linux系统** 1. **终端命令** - 输入 `ifconfig`(需安装 `net-tools` 包)或 `ip addr show` - 查找 `inet` 后的地址(例如 `192.168.1.5`)[^2] ```bash ifconfig # 传统命令 ip addr show # 新版本推荐 ``` 2. **图形界面** - 在GNOME/KDE桌面环境中,打开网络设置 → 查看连接详情中的IP地址 --- #### **macOS系统** 1. **终端命令** - 打开终端,输入 `ifconfig en0`(无线网络)或 `ifconfig en1`(有线网络) - 查找 `inet` 后的地址(例如 `192.168.1.20`) 2. **系统偏好设置** - 进入“系统偏好设置” → “网络” → 选择当前连接 → 点击“高级”查看TCP/IP信息 --- #### **注意事项** - 本地IP通常是私有地址(如 `192.168.x.x`、`10.x.x.x` 或 `172.16.x.x`) - 若需公网IP,可通过浏览器访问 `https://whatismyipaddress.com` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值