mirror of
https://github.com/net-byte/vtun
synced 2024-03-14 10:50:03 +08:00
update scr & dst port
This commit is contained in:
parent
396287ac2f
commit
8e90fa9d87
@ -7,8 +7,6 @@ import (
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"github.com/google/gopacket"
|
||||
"github.com/google/gopacket/layers"
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/net-byte/vtun/common/config"
|
||||
"github.com/songgao/water/waterutil"
|
||||
@ -22,21 +20,14 @@ func GetAddr(b []byte) (srcAddr string, dstAddr string) {
|
||||
dstAddr = ""
|
||||
}
|
||||
}()
|
||||
if waterutil.IPv4Protocol(b) == waterutil.TCP {
|
||||
if waterutil.IPv4Protocol(b) == waterutil.TCP || waterutil.IPv4Protocol(b) == waterutil.UDP {
|
||||
srcIp := waterutil.IPv4Source(b)
|
||||
dstIp := waterutil.IPv4Destination(b)
|
||||
srcPort, dstPort := GetPort(b)
|
||||
src := fmt.Sprintf("%s:%s", srcIp.To4().String(), srcPort)
|
||||
dst := fmt.Sprintf("%s:%s", dstIp.To4().String(), dstPort)
|
||||
//log.Printf("%s->%s", src, dst)
|
||||
return src, dst
|
||||
} else if waterutil.IPv4Protocol(b) == waterutil.UDP {
|
||||
srcIp := waterutil.IPv4Source(b)
|
||||
dstIp := waterutil.IPv4Destination(b)
|
||||
srcPort, dstPort := GetPort(b)
|
||||
src := fmt.Sprintf("%s:%s", srcIp.To4().String(), srcPort)
|
||||
dst := fmt.Sprintf("%s:%s", dstIp.To4().String(), dstPort)
|
||||
//log.Printf("%s->%s", src, dst)
|
||||
srcPort := waterutil.IPv4SourcePort(b)
|
||||
dstPort := waterutil.IPv4DestinationPort(b)
|
||||
src := fmt.Sprintf("%s:%v", srcIp.To4().String(), srcPort)
|
||||
dst := fmt.Sprintf("%s:%v", dstIp.To4().String(), dstPort)
|
||||
log.Printf("%s->%v", src, dst)
|
||||
return src, dst
|
||||
} else if waterutil.IPv4Protocol(b) == waterutil.ICMP {
|
||||
srcIp := waterutil.IPv4Source(b)
|
||||
@ -46,17 +37,6 @@ func GetAddr(b []byte) (srcAddr string, dstAddr string) {
|
||||
return "", ""
|
||||
}
|
||||
|
||||
func GetPort(b []byte) (srcPort string, dstPort string) {
|
||||
packet := gopacket.NewPacket(b, layers.LayerTypeIPv4, gopacket.Default)
|
||||
if tcpLayer := packet.Layer(layers.LayerTypeTCP); tcpLayer != nil {
|
||||
tcp, _ := tcpLayer.(*layers.TCP)
|
||||
return tcp.SrcPort.String(), tcp.DstPort.String()
|
||||
} else if udpLayer := packet.Layer(layers.LayerTypeUDP); udpLayer != nil {
|
||||
udp, _ := udpLayer.(*layers.UDP)
|
||||
return udp.SrcPort.String(), udp.DstPort.String()
|
||||
}
|
||||
return "", ""
|
||||
}
|
||||
func ConnectWS(config config.Config) *websocket.Conn {
|
||||
scheme := "ws"
|
||||
if config.Protocol == "wss" {
|
||||
|
2
go.mod
2
go.mod
@ -3,8 +3,8 @@ module github.com/net-byte/vtun
|
||||
go 1.16
|
||||
|
||||
require (
|
||||
github.com/google/gopacket v1.1.19
|
||||
github.com/gorilla/websocket v1.4.2
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||
github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d // indirect
|
||||
)
|
||||
|
13
go.sum
13
go.sum
@ -1,21 +1,8 @@
|
||||
github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
|
||||
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
|
||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
|
||||
github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 h1:TG/diQgUe0pntT/2D9tmUCz4VNwm9MfrtPr0SU2qSX8=
|
||||
github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8/go.mod h1:P5HUIBuIWKbyjl083/loAegFkfbFNx5i2qEP4CNbm7E=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
Loading…
Reference in New Issue
Block a user