LUA中获得服务器IP

Posted gaoshengchao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LUA中获得服务器IP相关的知识,希望对你有一定的参考价值。

local t = {}
-- 引入相关包local socket = require("socket")

function t.main()

        local a,b=pcall(t.execute);
        if a==false then
                logerror(a,b);
        end

end

function t.execute()
        logdebug("start");
        --local m = os.execute("ifconfig");
        --logdebug(m);
        --local s= io.popen(‘ifconfig‘)
        --local b = s:read("*all")
        --logdebug(b);
        --local t=os.execute(ip addr|grep inet|grep -v inet6|grep eth0|awk ‘{print $2}‘|awk -F "/" ‘{print $1}‘ >> /log/app/localhost.tmp);
        --local t=os.execute("ifconfig eth0 |grep ‘inet addr‘| cut -f 2 -d ‘:‘|cut -f 1 -d ‘ ‘ >> /log/app/localhost.tmp ");
        logdebug(os.time());
        local ip,resolved = socket.dns.toip(socket.dns.gethostname());
        logdebug(ip);
        logdebug(resolved);
        logdebug(t.GetAdd(socket.dns.gethostname()));
end
function t.GetAdd(hostname)
    local ip, resolved = socket.dns.toip(hostname)
    local ListTab = {}
    for k, v in ipairs(resolved.ip) do
        logdebug(k.."|"..v);
        table.insert(ListTab, v)
    end
    return ListTab
end

return t

 

以上是关于LUA中获得服务器IP的主要内容,如果未能解决你的问题,请参考以下文章

将lua字符串作为lua代码执行

网关开发ngx嵌套lua时处理CIDR表示的IP地址段

在Pandoc lua过滤器中连接字符串片段

Lua 获取本地IP

Nginx 通过 Lua + Redis 实现动态封禁 IP

Nginx 通过 Lua + Redis 实现动态封禁 IP