@@ -82,14 +82,19 @@ func main() {
8282 fmt .Println ("NAT Type: inconclusive" )
8383 } else if NatMappingBehavior == "endpoint independent" && NatFilteringBehavior == "endpoint independent" {
8484 fmt .Println ("NAT Type: Full Cone" )
85+ } else if strings .Contains (NatMappingBehavior ,"endpoint independent" ) && strings .Contains (NatFilteringBehavior ,"address dependent" ) {
86+ fmt .Println ("NAT Type: Restricted Cone" )
87+ } else if strings .Contains (NatMappingBehavior ,"endpoint independent" ) && strings .Contains (NatFilteringBehavior ,"address and port dependent" ) {
88+ fmt .Println ("NAT Type: Port Restricted Cone" )
8589 } else if NatMappingBehavior == "address dependent" || NatMappingBehavior == "address and port dependent" {
8690 fmt .Println ("NAT Type: Symmetric" )
91+ } else {
92+ fmt .Printf ("NAT Type: %v[NatMappingBehavior] %v[NatFilteringBehavior]\n " , NatMappingBehavior , NatFilteringBehavior )
8793 }
88- // } else if strings.Contains(NatMappingBehavior,"") && strings.Contains(NatFilteringBehavior,"") {
89- // fmt.Println("NAT Type: Restricted Cone")
90- // } else if strings.Contains(NatMappingBehavior,"") && strings.Contains(NatFilteringBehavior,"") {
91- // fmt.Println("NAT Type: Port Restricted Cone")
94+ } else {
95+ fmt .Println ("NAT Type: inconclusive" )
9296 }
97+ // my changes end
9398}
9499
95100// RFC5780: 4.3. Determining NAT Mapping Behavior
@@ -361,10 +366,4 @@ func listen(conn *net.UDPConn) (messages chan *stun.Message) {
361366 }
362367 }()
363368 return
364- }
365-
366- // go install github.com/pion/stun/v2/cmd/stun-nat-behaviour@latest
367-
368- // $GOPATH/bin/stun-nat-behaviour --server stun.l.google.com:19302
369-
370- // $GOPATH/bin/stun-nat-behaviour -h
369+ }
0 commit comments