ehang-io / nps

一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.
https://ehang.io/nps/documents
GNU General Public License v3.0
29.77k stars 5.38k forks source link

nps 崩溃 #802

Open iGmainC opened 3 years ago

iGmainC commented 3 years ago

系统:ubuntu 20.04

goroutine 26789 [running]:
ehang.io/nps-mux.(*sendWindow).WriteTo(0xc0006711a0, 0xc000280f00, 0x13, 0x1, 0xc00026fd48, 0x4042d0, 0xc00026ff28)
        /home/runner/go/pkg/mod/ehang.io/nps-mux@v0.0.0-20210407130203-4afa0c10c992/conn.go:554 +0x2f2
ehang.io/nps-mux.(*sendWindow).WriteFull(0xc0006711a0, 0xc0006d6300, 0x4b, 0x688, 0xc000000003, 0x40a37f, 0xc000010000, 0xaa0b00)
        /home/runner/go/pkg/mod/ehang.io/nps-mux@v0.0.0-20210407130203-4afa0c10c992/conn.go:608 +0x8e
ehang.io/nps-mux.(*conn).Write(0xc000664960, 0xc0006d6300, 0x4b, 0x688, 0xc00026fe38, 0x40b905, 0xaa0b00)
        /home/runner/go/pkg/mod/ehang.io/nps-mux@v0.0.0-20210407130203-4afa0c10c992/conn.go:63 +0x8e
ehang.io/nps/lib/rate.(*rateConn).Write(0xc0003e6f60, 0xc0006d6300, 0x4b, 0x688, 0xc0003e6f60, 0x1, 0xc00026fee8)
        /home/runner/work/nps/nps/lib/rate/conn.go:28 +0x55
ehang.io/nps/server/proxy.(*UdpModeServer).process(0xc00014c000, 0xc0001fc270, 0xc0006d6300, 0x4b, 0x688)
        /home/runner/work/nps/nps/server/proxy/udp.go:59 +0x8e3
created by ehang.io/nps/server/proxy.(*UdpModeServer).Start
        /home/runner/work/nps/nps/server/proxy/udp.go:50 +0x2cc
billkit commented 3 years ago

我也有这个问题,系统是debian 10

panic: runtime error: slice bounds out of range [160:80]

goroutine 15255 [running]:
ehang.io/nps-mux.(*sendWindow).WriteTo(0xc001d5da40, 0x5c00896003, 0xa54560, 0xc000a05c30, 0x50, 0x0, 0x0)
        /home/runner/go/pkg/mod/ehang.io/nps-mux@v0.0.0-20210407130203-4afa0c10c992/conn.go:554 +0x2f2
ehang.io/nps-mux.(*sendWindow).WriteFull(0xc001d5da40, 0xc000896000, 0x50, 0x10000, 0x5c, 0x8, 0x0, 0x0)
        /home/runner/go/pkg/mod/ehang.io/nps-mux@v0.0.0-20210407130203-4afa0c10c992/conn.go:608 +0x8e
ehang.io/nps-mux.(*conn).Write(0xc000894820, 0xc000896000, 0x50, 0x10000, 0x8, 0x0, 0x0)
        /home/runner/go/pkg/mod/ehang.io/nps-mux@v0.0.0-20210407130203-4afa0c10c992/conn.go:63 +0x8e
github.com/golang/snappy.(*Writer).write(0xc001d5db00, 0x0, 0x0, 0x0, 0x50, 0xc0004b4db8, 0x0)
        /home/runner/go/pkg/mod/github.com/golang/snappy@v0.0.3/encode.go:258 +0x36d
github.com/golang/snappy.(*Writer).Flush(0xc001d5db00, 0xc0008bdc00, 0x50)
        /home/runner/go/pkg/mod/github.com/golang/snappy@v0.0.3/encode.go:276 +0x6f
ehang.io/nps/lib/conn.(*SnappyConn).Write(0xc0008fdb40, 0xc0008bdc00, 0x50, 0x688, 0xc0004b4e38, 0x40b905, 0xaa0b00)
        /home/runner/work/nps/nps/lib/conn/snappy.go:29 +0x7b
ehang.io/nps/lib/rate.(*rateConn).Write(0xc0008fdb60, 0xc0008bdc00, 0x50, 0x688, 0xc0008fdb60, 0xc000233501, 0x13)
        /home/runner/work/nps/nps/lib/rate/conn.go:28 +0x55
ehang.io/nps/server/proxy.(*UdpModeServer).process(0xc0001b6150, 0xc0002fd950, 0xc0008bdc00, 0x50, 0x688)
        /home/runner/work/nps/nps/server/proxy/udp.go:59 +0x8e3
created by ehang.io/nps/server/proxy.(*UdpModeServer).Start
        /home/runner/work/nps/nps/server/proxy/udp.go:50 +0x2cc
shurllsy commented 1 year ago

+1我发现是表面上是udp隧道的问题,关闭udp隧道就好了,日志里面有大量的 New udp connection,client 6,remote address xxx.xxx.xxx.xxx

shurllsy commented 1 year ago

slice bounds out of range [160:80] 这个已经分支修复了,用了一天没崩溃过 https://github.com/yisier/nps/releases/tag/v0.26.13