mirror of
https://github.com/oneclickvirt/backtrace.git
synced 2025-02-22 17:05:41 +08:00
0.0.2 - 增加日志记录的参数
This commit is contained in:
parent
20ee739ddb
commit
29c7c81f9a
@ -3,24 +3,51 @@ package backtrace
|
||||
import (
|
||||
"net"
|
||||
"syscall"
|
||||
|
||||
. "github.com/oneclickvirt/defaultset"
|
||||
)
|
||||
|
||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if EnableLoger {
|
||||
InitLogger()
|
||||
defer Logger.Sync()
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
} else {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
|
@ -3,24 +3,51 @@ package backtrace
|
||||
import (
|
||||
"net"
|
||||
"syscall"
|
||||
|
||||
. "github.com/oneclickvirt/defaultset"
|
||||
)
|
||||
|
||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if EnableLoger {
|
||||
InitLogger()
|
||||
defer Logger.Sync()
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
} else {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
|
@ -3,24 +3,51 @@ package backtrace
|
||||
import (
|
||||
"net"
|
||||
"syscall"
|
||||
|
||||
. "github.com/oneclickvirt/defaultset"
|
||||
)
|
||||
|
||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if EnableLoger {
|
||||
InitLogger()
|
||||
defer Logger.Sync()
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
} else {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
|
@ -3,24 +3,51 @@ package backtrace
|
||||
import (
|
||||
"net"
|
||||
"syscall"
|
||||
|
||||
. "github.com/oneclickvirt/defaultset"
|
||||
)
|
||||
|
||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if EnableLoger {
|
||||
InitLogger()
|
||||
defer Logger.Sync()
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
} else {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
|
@ -11,26 +11,46 @@ import (
|
||||
)
|
||||
|
||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
|
||||
InitLogger()
|
||||
defer Logger.Sync()
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
return nil, err
|
||||
if EnableLoger {
|
||||
InitLogger()
|
||||
defer Logger.Sync()
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = windows.SetsockoptInt(windows.Handle(fd), windows.IPPROTO_IP, windows.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
} else {
|
||||
conn, err := net.ListenIP(network, laddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = windows.SetsockoptInt(windows.Handle(fd), windows.IPPROTO_IP, windows.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
raw, err := conn.SyscallConn()
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
_ = raw.Control(func(fd uintptr) {
|
||||
err = windows.SetsockoptInt(windows.Handle(fd), windows.IPPROTO_IP, windows.IP_HDRINCL, 1)
|
||||
})
|
||||
if err != nil {
|
||||
Logger.Info(err.Error())
|
||||
conn.Close()
|
||||
return nil, err
|
||||
}
|
||||
return conn, nil
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
package backtrace
|
||||
|
||||
const BackTraceVersion = "0.0.1"
|
||||
const BackTraceVersion = "0.0.2"
|
||||
var EnableLoger bool
|
@ -25,6 +25,7 @@ func main() {
|
||||
fmt.Println(Green("项目地址:"), Yellow("https://github.com/oneclickvirt/backtrace"))
|
||||
var showVersion bool
|
||||
flag.BoolVar(&showVersion, "v", false, "show version")
|
||||
flag.BoolVar(&backtrace.EnableLoger, "e", false, "Enable logging")
|
||||
flag.Parse()
|
||||
if showVersion {
|
||||
fmt.Println(backtrace.BackTraceVersion)
|
||||
|
Loading…
Reference in New Issue
Block a user