package
1.5.7
Repository: https://github.com/vela-public/lua.git
Documentation: pkg.go.dev

# README

net

基础网络库方法

内置方法:

ping

p = net.ping(addr)

返回值字段:

  • ok
  • addr
  • cnt  返回的数据
  • time
  • seq
  • code
  • id
  • warp  报错
    local p = net.ping("127.0.0.1")
    print(p.ok)   -- true
    print(p.addr) -- 127.0.0.1
    print(p.cnt)  -- 32
    print(p.time) -- 56
    print(p.code) -- 200
    print(p.id)   -- 123091
    print(p.warp) -- error

ip

ip = net.ip("127.0.0.1") 获取IP地址对象

  • ipv4   判断是IPv4
  • ipv6   判断是IPv6

内置字段:

  • ip.ipv4
  • ip.ipv6
  • ip.invalid
    local v =  net.ipv4("127.0.0.1")
    print(v) --true

    local v = net.ipv6("aa::22")
    print(v) --true

    local v = net.ip("10.0.0.1")
    print(v.ipv4)  --true
    print(v.ipv6)  --false
    print(v.invalid)  --false

cat

c = net.cat(url , [body])
url: 请求标识 tcp://127.0.0.1:8080

返回值字段:

  • ok
  • banner
  • ont
  • cnt
  • err
    local c = net.cat("tcp://127.0.0.1:22")
    print(ok)     -- true
    print(banner) -- openssh-xxx-xx
    --todo

open

fd = net.open(url , banner)
url: 请求标识 tcp://127.0.0.1:8080 , banner:显示banner信息 , function: 处理请求connection

内置方法:

    local fd = net.open("tcp://127.0.0.1:9999" , "HTTP2.0")
    fd.hook(function(conn)
        --todo        
    end)
    fd.case("src == 127.0.0.1").pipe(print)

connection

链接套接字信息

  • push(v)
  • pushf(format , v...)
  • err  报错
  • raw  请求数据
  • src
  • dst
  • src_port
  • dst_port
  • source  127.0.0.1:9120
  • destination  127.0.0.1:80
    fd = net.open("tcp://127.0.0.1:9029" , "ssh2.0")
    fd.hook(function(conn) 
        print(conn.raw)
        print(conn.src)
        print(conn.dst)
        print(conn.err)
        conn.push(conn.raw)
    end)