Code Monkey home page Code Monkey logo

Comments (13)

chux0r avatar chux0r commented on May 28, 2024

Bug found during testing. See #27

from netbang.

chux0r avatar chux0r commented on May 28, 2024

Validated --ports -p works as intended with in-scope numbers. out-of-scope numbers are passed (see issue #27) and legal named lists are rejected

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang -p 80,111,10000 --debug scanme.org
DEBUG: buildPortsList(): Process input [ 80,111,10000 ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing " 80,111,10000 "
DEBUG: parsePortsCDL(): Evaluating item [ 80 ]
DEBUG: parsePortsCDL(): Item [ 80 ] is a number [ 80 ]. Appended. Current port slice [ [80] ]
DEBUG: parsePortsCDL(): Evaluating item [ 111 ]
DEBUG: parsePortsCDL(): Item [ 111 ] is a number [ 111 ]. Appended. Current port slice [ [80 111] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000 ]
DEBUG: parsePortsCDL(): Item [ 10000 ] is a number [ 10000 ]. Appended. Current port slice [ [80 111 10000] ]

DEBUG: parsePortsCdl() Port range def string:  80,111,10000

DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  []

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [80 111 10000]
DEBUG: buildPortsList(): Adding [ [80 111 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): Resulting PortList [ [80 111 10000] ]

Bang target: [scanme.org], Portcount: [3]
=====================================================
TCP portbangers unleashed...😎💀💀
Jobs run: 3
scanme.org Scan Results
================================================================================
[scanme.org:80] -->     [😎] OPEN
[scanme.org:10000] -->  [💀] ERROR: dial tcp 45.33.32.156:10000: connect: connection refused
[scanme.org:111] -->    [💀] ERROR: dial tcp 45.33.32.156:111: i/o timeout

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang -p 80,tcp_short,111,10000, --debug 127.0.0.1
DEBUG: buildPortsList(): Process input [ 80,tcp_short,111,10000, ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing " 80,tcp_short,111,10000, "
DEBUG: parsePortsCDL(): Evaluating item [ 80 ]
DEBUG: parsePortsCDL(): Item [ 80 ] is a number [ 80 ]. Appended. Current port slice [ [80] ]
DEBUG: parsePortsCDL(): Evaluating item [ tcp_short ]
DEBUG: parsePortsCDL(): [ tcp_short ] result: NAN
DEBUG: parsePortsCDL():  Item [ tcp_short ], is a non-number, non-range string. Assumed Named List. Returning for eval.
DEBUG: parsePortsCDL(): Evaluating item [ 111 ]
DEBUG: parsePortsCDL(): Item [ 111 ] is a number [ 111 ]. Appended. Current port slice [ [80 111] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000 ]
DEBUG: parsePortsCDL(): Item [ 10000 ] is a number [ 10000 ]. Appended. Current port slice [ [80 111 10000] ]
DEBUG: parsePortsCDL(): Evaluating item [  ]
DEBUG: parsePortsCDL(): [  ] result: NAN
DEBUG: parsePortsCDL():  Item [  ], is a non-number, non-range string. Assumed Named List. Returning for eval.

DEBUG: parsePortsCdl() Port range def string:  80,tcp_short,111,10000,

DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  [tcp_short ]

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [80 111 10000]
DEBUG: buildPortsList(): Adding [ [80 111 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): Add ports in named list [ [tcp_short ] ] to ThisScan...Portlist
2024/03/28 15:22:42 Error: Undefined list given: ""

from netbang.

chux0r avatar chux0r commented on May 28, 2024

Trailing comma in -p args causes eval to add in empty string as an arg, which then fails. Removed comma from last to verity:

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang -p 80,tcp_short,111,10000 --debug 127.0.0.1
DEBUG: buildPortsList(): Process input [ 80,tcp_short,111,10000 ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing " 80,tcp_short,111,10000 "
DEBUG: parsePortsCDL(): Evaluating item [ 80 ]
DEBUG: parsePortsCDL(): Item [ 80 ] is a number [ 80 ]. Appended. Current port slice [ [80] ]
DEBUG: parsePortsCDL(): Evaluating item [ tcp_short ]
DEBUG: parsePortsCDL(): [ tcp_short ] result: NAN
DEBUG: parsePortsCDL():  Item [ tcp_short ], is a non-number, non-range string. Assumed Named List. Returning for eval.
DEBUG: parsePortsCDL(): Evaluating item [ 111 ]
DEBUG: parsePortsCDL(): Item [ 111 ] is a number [ 111 ]. Appended. Current port slice [ [80 111] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000 ]
DEBUG: parsePortsCDL(): Item [ 10000 ] is a number [ 10000 ]. Appended. Current port slice [ [80 111 10000] ]

DEBUG: parsePortsCdl() Port range def string:  80,tcp_short,111,10000

DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  [tcp_short]

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [80 111 10000]
DEBUG: buildPortsList(): Adding [ [80 111 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): Add ports in named list [ [tcp_short] ] to ThisScan...Portlist
DEBUG: buildPortsList(): Resulting PortList [ [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ]

Bang target: [127.0.0.1], Portcount: [65]
=====================================================
TCP portbangers unleashed...💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 65
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:119] -->     [💀] ERROR: dial tcp 127.0.0.1:119: connect: connection refused
[127.0.0.1:113] -->     [💀] ERROR: dial tcp 127.0.0.1:113: connect: connection refused
[127.0.0.1:111] -->     [💀] ERROR: dial tcp 127.0.0.1:111: connect: connection refused
[127.0.0.1:110] -->     [💀] ERROR: dial tcp 127.0.0.1:110: connect: connection refused
[127.0.0.1:88] -->      [💀] ERROR: dial tcp 127.0.0.1:88: connect: connection refused
[127.0.0.1:80] -->      [💀] ERROR: dial tcp 127.0.0.1:80: connect: connection refused
[127.0.0.1:79] -->      [💀] ERROR: dial tcp 127.0.0.1:79: connect: connection refused
[127.0.0.1:69] -->      [💀] ERROR: dial tcp 127.0.0.1:69: connect: connection refused
[127.0.0.1:68] -->      [💀] ERROR: dial tcp 127.0.0.1:68: connect: connection refused
[127.0.0.1:67] -->      [💀] ERROR: dial tcp 127.0.0.1:67: connect: connection refused
[127.0.0.1:53] -->      [💀] ERROR: dial tcp 127.0.0.1:53: connect: connection refused
[127.0.0.1:43] -->      [💀] ERROR: dial tcp 127.0.0.1:43: connect: connection refused
[127.0.0.1:25] -->      [💀] ERROR: dial tcp 127.0.0.1:25: connect: connection refused
[127.0.0.1:23] -->      [💀] ERROR: dial tcp 127.0.0.1:23: connect: connection refused
[127.0.0.1:22] -->      [💀] ERROR: dial tcp 127.0.0.1:22: connect: connection refused
[127.0.0.1:21] -->      [💀] ERROR: dial tcp 127.0.0.1:21: connect: connection refused
[127.0.0.1:20] -->      [💀] ERROR: dial tcp 127.0.0.1:20: connect: connection refused
[127.0.0.1:8443] -->    [💀] ERROR: dial tcp 127.0.0.1:8443: connect: connection refused
[127.0.0.1:1337] -->    [💀] ERROR: dial tcp 127.0.0.1:1337: connect: connection refused
[127.0.0.1:1270] -->    [💀] ERROR: dial tcp 127.0.0.1:1270: connect: connection refused
[127.0.0.1:995] -->     [💀] ERROR: dial tcp 127.0.0.1:995: connect: connection refused
[127.0.0.1:993] -->     [💀] ERROR: dial tcp 127.0.0.1:993: connect: connection refused
[127.0.0.1:990] -->     [💀] ERROR: dial tcp 127.0.0.1:990: connect: connection refused
[127.0.0.1:989] -->     [💀] ERROR: dial tcp 127.0.0.1:989: connect: connection refused
[127.0.0.1:873] -->     [💀] ERROR: dial tcp 127.0.0.1:873: connect: connection refused
[127.0.0.1:853] -->     [💀] ERROR: dial tcp 127.0.0.1:853: connect: connection refused
[127.0.0.1:636] -->     [💀] ERROR: dial tcp 127.0.0.1:636: connect: connection refused
[127.0.0.1:593] -->     [💀] ERROR: dial tcp 127.0.0.1:593: connect: connection refused
[127.0.0.1:587] -->     [💀] ERROR: dial tcp 127.0.0.1:587: connect: connection refused
[127.0.0.1:547] -->     [💀] ERROR: dial tcp 127.0.0.1:547: connect: connection refused
[127.0.0.1:546] -->     [💀] ERROR: dial tcp 127.0.0.1:546: connect: connection refused
[127.0.0.1:515] -->     [💀] ERROR: dial tcp 127.0.0.1:515: connect: connection refused
[127.0.0.1:514] -->     [💀] ERROR: dial tcp 127.0.0.1:514: connect: connection refused
[127.0.0.1:513] -->     [💀] ERROR: dial tcp 127.0.0.1:513: connect: connection refused
[127.0.0.1:512] -->     [💀] ERROR: dial tcp 127.0.0.1:512: connect: connection refused
[127.0.0.1:464] -->     [💀] ERROR: dial tcp 127.0.0.1:464: connect: connection refused
[127.0.0.1:445] -->     [💀] ERROR: dial tcp 127.0.0.1:445: connect: connection refused
[127.0.0.1:443] -->     [💀] ERROR: dial tcp 127.0.0.1:443: connect: connection refused
[127.0.0.1:389] -->     [💀] ERROR: dial tcp 127.0.0.1:389: connect: connection refused
[127.0.0.1:179] -->     [💀] ERROR: dial tcp 127.0.0.1:179: connect: connection refused
[127.0.0.1:177] -->     [💀] ERROR: dial tcp 127.0.0.1:177: connect: connection refused
[127.0.0.1:143] -->     [💀] ERROR: dial tcp 127.0.0.1:143: connect: connection refused
[127.0.0.1:139] -->     [💀] ERROR: dial tcp 127.0.0.1:139: connect: connection refused
[127.0.0.1:137] -->     [💀] ERROR: dial tcp 127.0.0.1:137: connect: connection refused
[127.0.0.1:135] -->     [💀] ERROR: dial tcp 127.0.0.1:135: connect: connection refused
[127.0.0.1:2484] -->    [💀] ERROR: dial tcp 127.0.0.1:2484: connect: connection refused
[127.0.0.1:2483] -->    [💀] ERROR: dial tcp 127.0.0.1:2483: connect: connection refused
[127.0.0.1:2375] -->    [💀] ERROR: dial tcp 127.0.0.1:2375: connect: connection refused
[127.0.0.1:2323] -->    [💀] ERROR: dial tcp 127.0.0.1:2323: connect: connection refused
[127.0.0.1:2222] -->    [💀] ERROR: dial tcp 127.0.0.1:2222: connect: connection refused
[127.0.0.1:1521] -->    [💀] ERROR: dial tcp 127.0.0.1:1521: connect: connection refused
[127.0.0.1:1434] -->    [💀] ERROR: dial tcp 127.0.0.1:1434: connect: connection refused
[127.0.0.1:1433] -->    [💀] ERROR: dial tcp 127.0.0.1:1433: connect: connection refused
[127.0.0.1:3333] -->    [💀] ERROR: dial tcp 127.0.0.1:3333: connect: connection refused
[127.0.0.1:3389] -->    [💀] ERROR: dial tcp 127.0.0.1:3389: connect: connection refused
[127.0.0.1:3306] -->    [💀] ERROR: dial tcp 127.0.0.1:3306: connect: connection refused
[127.0.0.1:8088] -->    [💀] ERROR: dial tcp 127.0.0.1:8088: connect: connection refused
[127.0.0.1:5800] -->    [💀] ERROR: dial tcp 127.0.0.1:5800: connect: connection refused
[127.0.0.1:5432] -->    [💀] ERROR: dial tcp 127.0.0.1:5432: connect: connection refused
[127.0.0.1:8080] -->    [💀] ERROR: dial tcp 127.0.0.1:8080: connect: connection refused
[127.0.0.1:8008] -->    [💀] ERROR: dial tcp 127.0.0.1:8008: connect: connection refused
[127.0.0.1:8081] -->    [💀] ERROR: dial tcp 127.0.0.1:8081: connect: connection refused
[127.0.0.1:5900] -->    [💀] ERROR: dial tcp 127.0.0.1:5900: connect: connection refused
[127.0.0.1:5061] -->    [💀] ERROR: dial tcp 127.0.0.1:5061: connect: connection refused
[127.0.0.1:5060] -->    [💀] ERROR: dial tcp 127.0.0.1:5060: connect: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

fixed wayward comma problem. New problem: portlist is wrong. tcp_short is parsed and added, but custom ports are not inlcuded. Overwritten? (notice 10000 is not in the resulting scan - also notice comma inclusion does not fubar the scan setup =) )

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang -p 80,tcp_short,111,10000, --debug 127.0.0.1
DEBUG: buildPortsList(): Process input [ 80,tcp_short,111,10000, ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing [ 80,tcp_short,111,10000, ]
DEBUG: parsePortsCDL(): Evaluating item [ 80 ]
DEBUG: parsePortsCDL(): Item [ 80 ] is a number [ 80 ]. Appended. Current port slice [ [80] ]
DEBUG: parsePortsCDL(): Evaluating item [ tcp_short ]
DEBUG: parsePortsCDL(): [ tcp_short ] result: NAN
DEBUG: parsePortsCDL():  Item [ tcp_short ], is a non-number, non-range string. Assumed Named List. Returning for eval.
DEBUG: parsePortsCDL(): Evaluating item [ 111 ]
DEBUG: parsePortsCDL(): Item [ 111 ] is a number [ 111 ]. Appended. Current port slice [ [80 111] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000 ]
DEBUG: parsePortsCDL(): Item [ 10000 ] is a number [ 10000 ]. Appended. Current port slice [ [80 111 10000] ]

DEBUG: parsePortsCdl() Port range def string:  80,tcp_short,111,10000,

DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  [tcp_short]

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [80 111 10000]
DEBUG: buildPortsList(): Adding [ [80 111 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): Add ports in named list [ [tcp_short] ] to ThisScan...Portlist
DEBUG: buildPortsList(): Resulting PortList [ [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ]

Bang target: [127.0.0.1], Portcount: [65]
=====================================================
TCP portbangers unleashed...💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 65
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:22] -->      [💀] ERROR: dial tcp 127.0.0.1:22: connect: connection refused
[127.0.0.1:53] -->      [💀] ERROR: dial tcp 127.0.0.1:53: connect: connection refused
[127.0.0.1:21] -->      [💀] ERROR: dial tcp 127.0.0.1:21: connect: connection refused
[127.0.0.1:43] -->      [💀] ERROR: dial tcp 127.0.0.1:43: connect: connection refused
[127.0.0.1:20] -->      [💀] ERROR: dial tcp 127.0.0.1:20: connect: connection refused
[127.0.0.1:25] -->      [💀] ERROR: dial tcp 127.0.0.1:25: connect: connection refused
[127.0.0.1:8443] -->    [💀] ERROR: dial tcp 127.0.0.1:8443: connect: connection refused
[127.0.0.1:23] -->      [💀] ERROR: dial tcp 127.0.0.1:23: connect: connection refused
[127.0.0.1:69] -->      [💀] ERROR: dial tcp 127.0.0.1:69: connect: connection refused
[127.0.0.1:68] -->      [💀] ERROR: dial tcp 127.0.0.1:68: connect: connection refused
[127.0.0.1:67] -->      [💀] ERROR: dial tcp 127.0.0.1:67: connect: connection refused
[127.0.0.1:80] -->      [💀] ERROR: dial tcp 127.0.0.1:80: connect: connection refused
[127.0.0.1:79] -->      [💀] ERROR: dial tcp 127.0.0.1:79: connect: connection refused
[127.0.0.1:88] -->      [💀] ERROR: dial tcp 127.0.0.1:88: connect: connection refused
[127.0.0.1:873] -->     [💀] ERROR: dial tcp 127.0.0.1:873: connect: connection refused
[127.0.0.1:8088] -->    [💀] ERROR: dial tcp 127.0.0.1:8088: connect: connection refused
[127.0.0.1:2483] -->    [💀] ERROR: dial tcp 127.0.0.1:2483: connect: connection refused
[127.0.0.1:853] -->     [💀] ERROR: dial tcp 127.0.0.1:853: connect: connection refused
[127.0.0.1:8080] -->    [💀] ERROR: dial tcp 127.0.0.1:8080: connect: connection refused
[127.0.0.1:636] -->     [💀] ERROR: dial tcp 127.0.0.1:636: connect: connection refused
[127.0.0.1:8008] -->    [💀] ERROR: dial tcp 127.0.0.1:8008: connect: connection refused
[127.0.0.1:593] -->     [💀] ERROR: dial tcp 127.0.0.1:593: connect: connection refused
[127.0.0.1:5900] -->    [💀] ERROR: dial tcp 127.0.0.1:5900: connect: connection refused
[127.0.0.1:587] -->     [💀] ERROR: dial tcp 127.0.0.1:587: connect: connection refused
[127.0.0.1:5800] -->    [💀] ERROR: dial tcp 127.0.0.1:5800: connect: connection refused
[127.0.0.1:443] -->     [💀] ERROR: dial tcp 127.0.0.1:443: connect: connection refused
[127.0.0.1:5432] -->    [💀] ERROR: dial tcp 127.0.0.1:5432: connect: connection refused
[127.0.0.1:546] -->     [💀] ERROR: dial tcp 127.0.0.1:546: connect: connection refused
[127.0.0.1:5061] -->    [💀] ERROR: dial tcp 127.0.0.1:5061: connect: connection refused
[127.0.0.1:515] -->     [💀] ERROR: dial tcp 127.0.0.1:515: connect: connection refused
[127.0.0.1:5060] -->    [💀] ERROR: dial tcp 127.0.0.1:5060: connect: connection refused
[127.0.0.1:514] -->     [💀] ERROR: dial tcp 127.0.0.1:514: connect: connection refused
[127.0.0.1:3389] -->    [💀] ERROR: dial tcp 127.0.0.1:3389: connect: connection refused
[127.0.0.1:2375] -->    [💀] ERROR: dial tcp 127.0.0.1:2375: connect: connection refused
[127.0.0.1:3333] -->    [💀] ERROR: dial tcp 127.0.0.1:3333: connect: connection refused
[127.0.0.1:512] -->     [💀] ERROR: dial tcp 127.0.0.1:512: connect: connection refused
[127.0.0.1:3306] -->    [💀] ERROR: dial tcp 127.0.0.1:3306: connect: connection refused
[127.0.0.1:464] -->     [💀] ERROR: dial tcp 127.0.0.1:464: connect: connection refused
[127.0.0.1:2484] -->    [💀] ERROR: dial tcp 127.0.0.1:2484: connect: connection refused
[127.0.0.1:389] -->     [💀] ERROR: dial tcp 127.0.0.1:389: connect: connection refused
[127.0.0.1:8081] -->    [💀] ERROR: dial tcp 127.0.0.1:8081: connect: connection refused
[127.0.0.1:135] -->     [💀] ERROR: dial tcp 127.0.0.1:135: connect: connection refused
[127.0.0.1:2323] -->    [💀] ERROR: dial tcp 127.0.0.1:2323: connect: connection refused
[127.0.0.1:179] -->     [💀] ERROR: dial tcp 127.0.0.1:179: connect: connection refused
[127.0.0.1:177] -->     [💀] ERROR: dial tcp 127.0.0.1:177: connect: connection refused
[127.0.0.1:2222] -->    [💀] ERROR: dial tcp 127.0.0.1:2222: connect: connection refused
[127.0.0.1:143] -->     [💀] ERROR: dial tcp 127.0.0.1:143: connect: connection refused
[127.0.0.1:1270] -->    [💀] ERROR: dial tcp 127.0.0.1:1270: connect: connection refused
[127.0.0.1:1521] -->    [💀] ERROR: dial tcp 127.0.0.1:1521: connect: connection refused
[127.0.0.1:139] -->     [💀] ERROR: dial tcp 127.0.0.1:139: connect: connection refused
[127.0.0.1:1434] -->    [💀] ERROR: dial tcp 127.0.0.1:1434: connect: connection refused
[127.0.0.1:137] -->     [💀] ERROR: dial tcp 127.0.0.1:137: connect: connection refused
[127.0.0.1:1433] -->    [💀] ERROR: dial tcp 127.0.0.1:1433: connect: connection refused
[127.0.0.1:1337] -->    [💀] ERROR: dial tcp 127.0.0.1:1337: connect: connection refused
[127.0.0.1:989] -->     [💀] ERROR: dial tcp 127.0.0.1:989: connect: connection refused
[127.0.0.1:119] -->     [💀] ERROR: dial tcp 127.0.0.1:119: connect: connection refused
[127.0.0.1:995] -->     [💀] ERROR: dial tcp 127.0.0.1:995: connect: connection refused
[127.0.0.1:993] -->     [💀] ERROR: dial tcp 127.0.0.1:993: connect: connection refused
[127.0.0.1:110] -->     [💀] ERROR: dial tcp 127.0.0.1:110: connect: connection refused
[127.0.0.1:990] -->     [💀] ERROR: dial tcp 127.0.0.1:990: connect: connection refused
[127.0.0.1:547] -->     [💀] ERROR: dial tcp 127.0.0.1:547: connect: connection refused
[127.0.0.1:513] -->     [💀] ERROR: dial tcp 127.0.0.1:513: connect: connection refused
[127.0.0.1:445] -->     [💀] ERROR: dial tcp 127.0.0.1:445: connect: connection refused
[127.0.0.1:111] -->     [💀] ERROR: dial tcp 127.0.0.1:111: connect: connection refused
[127.0.0.1:113] -->     [💀] ERROR: dial tcp 127.0.0.1:113: connect: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

verified custom portlist spec with -p still works ok:

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang -p 80,111,10000, --debug 127.0.0.1
DEBUG: buildPortsList(): Process input [ 80,111,10000, ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing [ 80,111,10000, ]
DEBUG: parsePortsCDL(): Evaluating item [ 80 ]
DEBUG: parsePortsCDL(): Item [ 80 ] is a number [ 80 ]. Appended. Current port slice [ [80] ]
DEBUG: parsePortsCDL(): Evaluating item [ 111 ]
DEBUG: parsePortsCDL(): Item [ 111 ] is a number [ 111 ]. Appended. Current port slice [ [80 111] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000 ]
DEBUG: parsePortsCDL(): Item [ 10000 ] is a number [ 10000 ]. Appended. Current port slice [ [80 111 10000] ]

DEBUG: parsePortsCdl() Port range def string:  80,111,10000,

DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  []

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [80 111 10000]
DEBUG: buildPortsList(): Adding [ [80 111 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): Resulting PortList [ [80 111 10000] ]

Bang target: [127.0.0.1], Portcount: [3]
=====================================================
TCP portbangers unleashed...💀💀💀
Jobs run: 3
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:111] -->     [💀] ERROR: dial tcp 127.0.0.1:111: connect: connection refused
[127.0.0.1:80] -->      [💀] ERROR: dial tcp 127.0.0.1:80: connect: connection refused
[127.0.0.1:10000] -->   [💀] ERROR: dial tcp 127.0.0.1:10000: connect: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

problem looks like it's in buildPortsList(). Output shows that custom portdefs made it into ThisScan...PortList but were wiped out when "tcp_short" was portfu.PortList.Add'ed:

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang -p 80,tcp_short,111,10000, --debug 127.0.0.1
DEBUG: buildPortsList(): Process input [ 80,tcp_short,111,10000, ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing [ 80,tcp_short,111,10000, ]
DEBUG: parsePortsCDL(): Evaluating item [ 80 ]
DEBUG: parsePortsCDL(): Item [ 80 ] is a number [ 80 ]. Appended. Current port slice [ [80] ]
DEBUG: parsePortsCDL(): Evaluating item [ tcp_short ]
DEBUG: parsePortsCDL(): [ tcp_short ] result: NAN
DEBUG: parsePortsCDL():  Item [ tcp_short ], is a non-number, non-range string. Assumed Named List. Returning for eval.
DEBUG: parsePortsCDL(): Evaluating item [ 111 ]
DEBUG: parsePortsCDL(): Item [ 111 ] is a number [ 111 ]. Appended. Current port slice [ [80 111] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000 ]
DEBUG: parsePortsCDL(): Item [ 10000 ] is a number [ 10000 ]. Appended. Current port slice [ [80 111 10000] ]

DEBUG: parsePortsCdl() Port range def string:  80,tcp_short,111,10000,

DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  [tcp_short]

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [80 111 10000]
DEBUG: buildPortsList(): Adding [ [80 111 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): ThisScan...Portlist, current: [ [80 111 10000] ]
DEBUG: buildPortsList(): Add ports in named list [ [tcp_short] ] to ThisScan...Portlist
DEBUG: buildPortsList(): Resulting PortList [ [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ]

from netbang.

chux0r avatar chux0r commented on May 28, 2024

buildPortsList was clobbering the list. Took out the fancy "copy-measure-makenew-copy-append" and replaced it with just plain ol "append" to fix. To the point of the original deign, it does not have the "what if we outstrip golangs build-in slice smarts" approach left anywhere. But if my hunch is correct, we'd need to beat the snot out of it a lot harder than a maxsize 65535 []uint16 could manage. Maybe we just put in a maxlen limiter when we get the size of the exiting and the input list for some cheap insurance instead?

anyway, fixed output below. Oh, and maybe add some dedup later on the ports as well.

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang -p 80,tcp_short,111,10000, --debug 127.0.0.1
DEBUG: PortList pl[ &[] ] *pl[ [] ] &pl[ 0xc000014040 ]
DEBUG: The ports to ADD: [ [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ]
DEBUG: After COPY tmp INTO: pl[ &[20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] *pl[ [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] &pl[ 0xc000014040 ]
DEBUG: After APPEND NEW PORTS pl[ &[20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] *pl[ [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] &pl[ 0xc000014040 ]
DEBUG: buildPortsList(): Process input [ 80,tcp_short,111,10000, ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing [ 80,tcp_short,111,10000, ]
DEBUG: parsePortsCDL(): Evaluating item [ 80 ]
DEBUG: parsePortsCDL(): Item [ 80 ] is a number [ 80 ]. Appended. Current port slice [ [80] ]
DEBUG: parsePortsCDL(): Evaluating item [ tcp_short ]
DEBUG: parsePortsCDL(): [ tcp_short ] result: NAN
DEBUG: parsePortsCDL():  Item [ tcp_short ], is a non-number, non-range string. Assumed Named List. Returning for eval.
DEBUG: parsePortsCDL(): Evaluating item [ 111 ]
DEBUG: parsePortsCDL(): Item [ 111 ] is a number [ 111 ]. Appended. Current port slice [ [80 111] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000 ]
DEBUG: parsePortsCDL(): Item [ 10000 ] is a number [ 10000 ]. Appended. Current port slice [ [80 111 10000] ]

DEBUG: parsePortsCdl() Port range def string:  80,tcp_short,111,10000,

DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  [tcp_short]

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [80 111 10000]
DEBUG: buildPortsList(): Adding [ [80 111 10000] ] to ThisScan...Portlist.
DEBUG: PortList pl[ &[] ] *pl[ [] ] &pl[ 0xc000014050 ]
DEBUG: The ports to ADD: [ [80 111 10000] ]
DEBUG: After COPY tmp INTO: pl[ &[80 111 10000] ] *pl[ [80 111 10000] ] &pl[ 0xc000014050 ]
DEBUG: After APPEND NEW PORTS pl[ &[80 111 10000] ] *pl[ [80 111 10000] ] &pl[ 0xc000014050 ]
DEBUG: buildPortsList(): ThisScan...Portlist, current: [ [80 111 10000] ]
DEBUG: buildPortsList(): Add ports in named list [ [tcp_short] ] to ThisScan...Portlist
DEBUG: PortList pl[ &[80 111 10000] ] *pl[ [80 111 10000] ] &pl[ 0xc000014058 ]
DEBUG: The ports to ADD: [ [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ]
DEBUG: After COPY tmp INTO: pl[ &[80 111 10000 20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] *pl[ [80 111 10000 20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] &pl[ 0xc000014058 ]
DEBUG: After APPEND NEW PORTS pl[ &[80 111 10000 20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] *pl[ [80 111 10000 20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ] &pl[ 0xc000014058 ]
DEBUG: buildPortsList(): Resulting PortList [ [80 111 10000 20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] ]

Bang target: [127.0.0.1], Portcount: [68]
=====================================================
TCP portbangers unleashed...💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 68
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:8081] -->    [💀] ERROR: dial tcp 127.0.0.1:8081: connect: connection refused
[127.0.0.1:8080] -->    [💀] ERROR: dial tcp 127.0.0.1:8080: connect: connection refused
[127.0.0.1:8008] -->    [💀] ERROR: dial tcp 127.0.0.1:8008: connect: connection refused
[127.0.0.1:5900] -->    [💀] ERROR: dial tcp 127.0.0.1:5900: connect: connection refused
[127.0.0.1:5800] -->    [💀] ERROR: dial tcp 127.0.0.1:5800: connect: connection refused
[127.0.0.1:5432] -->    [💀] ERROR: dial tcp 127.0.0.1:5432: connect: connection refused
[127.0.0.1:5061] -->    [💀] ERROR: dial tcp 127.0.0.1:5061: connect: connection refused
[127.0.0.1:5060] -->    [💀] ERROR: dial tcp 127.0.0.1:5060: connect: connection refused
[127.0.0.1:3389] -->    [💀] ERROR: dial tcp 127.0.0.1:3389: connect: connection refused
[127.0.0.1:3333] -->    [💀] ERROR: dial tcp 127.0.0.1:3333: connect: connection refused
[127.0.0.1:3306] -->    [💀] ERROR: dial tcp 127.0.0.1:3306: connect: connection refused
[127.0.0.1:2484] -->    [💀] ERROR: dial tcp 127.0.0.1:2484: connect: connection refused
[127.0.0.1:2483] -->    [💀] ERROR: dial tcp 127.0.0.1:2483: connect: connection refused
[127.0.0.1:2375] -->    [💀] ERROR: dial tcp 127.0.0.1:2375: connect: connection refused
[127.0.0.1:2323] -->    [💀] ERROR: dial tcp 127.0.0.1:2323: connect: connection refused
[127.0.0.1:2222] -->    [💀] ERROR: dial tcp 127.0.0.1:2222: connect: connection refused
[127.0.0.1:1521] -->    [💀] ERROR: dial tcp 127.0.0.1:1521: connect: connection refused
[127.0.0.1:1434] -->    [💀] ERROR: dial tcp 127.0.0.1:1434: connect: connection refused
[127.0.0.1:1433] -->    [💀] ERROR: dial tcp 127.0.0.1:1433: connect: connection refused
[127.0.0.1:1337] -->    [💀] ERROR: dial tcp 127.0.0.1:1337: connect: connection refused
[127.0.0.1:1270] -->    [💀] ERROR: dial tcp 127.0.0.1:1270: connect: connection refused
[127.0.0.1:995] -->     [💀] ERROR: dial tcp 127.0.0.1:995: connect: connection refused
[127.0.0.1:993] -->     [💀] ERROR: dial tcp 127.0.0.1:993: connect: connection refused
[127.0.0.1:990] -->     [💀] ERROR: dial tcp 127.0.0.1:990: connect: connection refused
[127.0.0.1:989] -->     [💀] ERROR: dial tcp 127.0.0.1:989: connect: connection refused
[127.0.0.1:873] -->     [💀] ERROR: dial tcp 127.0.0.1:873: connect: connection refused
[127.0.0.1:853] -->     [💀] ERROR: dial tcp 127.0.0.1:853: connect: connection refused
[127.0.0.1:636] -->     [💀] ERROR: dial tcp 127.0.0.1:636: connect: connection refused
[127.0.0.1:593] -->     [💀] ERROR: dial tcp 127.0.0.1:593: connect: connection refused
[127.0.0.1:587] -->     [💀] ERROR: dial tcp 127.0.0.1:587: connect: connection refused
[127.0.0.1:547] -->     [💀] ERROR: dial tcp 127.0.0.1:547: connect: connection refused
[127.0.0.1:546] -->     [💀] ERROR: dial tcp 127.0.0.1:546: connect: connection refused
[127.0.0.1:515] -->     [💀] ERROR: dial tcp 127.0.0.1:515: connect: connection refused
[127.0.0.1:514] -->     [💀] ERROR: dial tcp 127.0.0.1:514: connect: connection refused
[127.0.0.1:513] -->     [💀] ERROR: dial tcp 127.0.0.1:513: connect: connection refused
[127.0.0.1:512] -->     [💀] ERROR: dial tcp 127.0.0.1:512: connect: connection refused
[127.0.0.1:464] -->     [💀] ERROR: dial tcp 127.0.0.1:464: connect: connection refused
[127.0.0.1:445] -->     [💀] ERROR: dial tcp 127.0.0.1:445: connect: connection refused
[127.0.0.1:443] -->     [💀] ERROR: dial tcp 127.0.0.1:443: connect: connection refused
[127.0.0.1:389] -->     [💀] ERROR: dial tcp 127.0.0.1:389: connect: connection refused
[127.0.0.1:179] -->     [💀] ERROR: dial tcp 127.0.0.1:179: connect: connection refused
[127.0.0.1:177] -->     [💀] ERROR: dial tcp 127.0.0.1:177: connect: connection refused
[127.0.0.1:143] -->     [💀] ERROR: dial tcp 127.0.0.1:143: connect: connection refused
[127.0.0.1:139] -->     [💀] ERROR: dial tcp 127.0.0.1:139: connect: connection refused
[127.0.0.1:137] -->     [💀] ERROR: dial tcp 127.0.0.1:137: connect: connection refused
[127.0.0.1:135] -->     [💀] ERROR: dial tcp 127.0.0.1:135: connect: connection refused
[127.0.0.1:119] -->     [💀] ERROR: dial tcp 127.0.0.1:119: connect: connection refused
[127.0.0.1:113] -->     [💀] ERROR: dial tcp 127.0.0.1:113: connect: connection refused
[127.0.0.1:111] -->     [💀] ERROR: dial tcp 127.0.0.1:111: connect: connection refused
[127.0.0.1:110] -->     [💀] ERROR: dial tcp 127.0.0.1:110: connect: connection refused
[127.0.0.1:88] -->      [💀] ERROR: dial tcp 127.0.0.1:88: connect: connection refused
[127.0.0.1:80] -->      [💀] ERROR: dial tcp 127.0.0.1:80: connect: connection refused
[127.0.0.1:79] -->      [💀] ERROR: dial tcp 127.0.0.1:79: connect: connection refused
[127.0.0.1:69] -->      [💀] ERROR: dial tcp 127.0.0.1:69: connect: connection refused
[127.0.0.1:68] -->      [💀] ERROR: dial tcp 127.0.0.1:68: connect: connection refused
[127.0.0.1:67] -->      [💀] ERROR: dial tcp 127.0.0.1:67: connect: connection refused
[127.0.0.1:53] -->      [💀] ERROR: dial tcp 127.0.0.1:53: connect: connection refused
[127.0.0.1:43] -->      [💀] ERROR: dial tcp 127.0.0.1:43: connect: connection refused
[127.0.0.1:25] -->      [💀] ERROR: dial tcp 127.0.0.1:25: connect: connection refused
[127.0.0.1:23] -->      [💀] ERROR: dial tcp 127.0.0.1:23: connect: connection refused
[127.0.0.1:22] -->      [💀] ERROR: dial tcp 127.0.0.1:22: connect: connection refused
[127.0.0.1:21] -->      [💀] ERROR: dial tcp 127.0.0.1:21: connect: connection refused
[127.0.0.1:20] -->      [💀] ERROR: dial tcp 127.0.0.1:20: connect: connection refused
[127.0.0.1:10000] -->   [💀] ERROR: dial tcp 127.0.0.1:10000: connect: connection refused
[127.0.0.1:111] -->     [💀] ERROR: dial tcp 127.0.0.1:111: connect: connection refused
[127.0.0.1:80] -->      [💀] ERROR: dial tcp 127.0.0.1:80: connect: connection refused
[127.0.0.1:8443] -->    [💀] ERROR: dial tcp 127.0.0.1:8443: connect: connection refused
[127.0.0.1:8088] -->    [💀] ERROR: dial tcp 127.0.0.1:8088: connect: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

found it

OMG I didn't implement --portsfile -> *portsfileDo2
--pf works, just not --portsfile

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang --pf ../nb_test.conf --debug 127.0.0.1
DEBUG: flags set: [ 2 ]
DEBUG: Flag [debug]: SET
        VALUE -> [true]
DEBUG: Flag [pf]: SET
        VALUE -> [../nb_test.conf]
DEBUG: constructor() complete. 
        TARGET NETWORK DETAIL: [ {tcp [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] []} ]
        TARGET: [ 127.0.0.1 ]
DEBUG: PortList: RESET/EMPTY
        TARGET NETWORK DETAIL: [ {tcp [] []} ]
        TARGET: [ 127.0.0.1 ]
2024/03/29 15:12:03 Opening user-defined port config file [../nb_test.conf].

Data read from cf file: >> 21,53,10000
DEBUG: buildPortsList(): Process input [ 21,53,10000
 ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing [ 21,53,10000
 ]
DEBUG: parsePortsCDL(): Evaluating item [ 21 ]
DEBUG: parsePortsCDL(): Item [ 21 ] is a number [ 21 ]. Appended. Current port slice [ [21] ]
DEBUG: parsePortsCDL(): Evaluating item [ 53 ]
DEBUG: parsePortsCDL(): Item [ 53 ] is a number [ 53 ]. Appended. Current port slice [ [21 53] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000
 ]
DEBUG: parsePortsCDL(): Item [ 10000
 ] is a number [ 10000 ]. Appended. Current port slice [ [21 53 10000] ]

DEBUG: parsePortsCdl() Port range def string:  21,53,10000


DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  []

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [21 53 10000]
DEBUG: buildPortsList(): Adding [ [21 53 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): ThisScan...Portlist, current: [ [21 53 10000] ]
DEBUG: buildPortsList(): Resulting PortList [ [21 53 10000] ]

Bang target: [127.0.0.1], Portcount: [3]
=====================================================
TCP portbangers unleashed...💀💀💀
Jobs run: 3
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:21] -->      [💀] ERROR: dial tcp 127.0.0.1:21: connect: connection refused
[127.0.0.1:10000] -->   [💀] ERROR: dial tcp 127.0.0.1:10000: connect: connection refused
[127.0.0.1:53] -->      [💀] ERROR: dial tcp 127.0.0.1:53: connect: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

fixed. Added *portsfileDo2 file read->PortsList code to netbang main; tested ok

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang --pf ../nb_test.conf --debug 127.0.0.1
DEBUG: flags set: [ 2 ]
DEBUG: Flag [debug]: SET
        VALUE -> [true]
DEBUG: Flag [pf]: SET
        VALUE -> [../nb_test.conf]
DEBUG: constructor() complete. 
        TARGET NETWORK DETAIL: [ {tcp [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] []} ]
        TARGET: [ 127.0.0.1 ]
DEBUG: PortList: RESET/EMPTY
        TARGET NETWORK DETAIL: [ {tcp [] []} ]
        TARGET: [ 127.0.0.1 ]
2024/03/29 15:12:03 Opening user-defined port config file [../nb_test.conf].

Data read from cf file: >> 21,53,10000
DEBUG: buildPortsList(): Process input [ 21,53,10000
 ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing [ 21,53,10000
 ]
DEBUG: parsePortsCDL(): Evaluating item [ 21 ]
DEBUG: parsePortsCDL(): Item [ 21 ] is a number [ 21 ]. Appended. Current port slice [ [21] ]
DEBUG: parsePortsCDL(): Evaluating item [ 53 ]
DEBUG: parsePortsCDL(): Item [ 53 ] is a number [ 53 ]. Appended. Current port slice [ [21 53] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000
 ]
DEBUG: parsePortsCDL(): Item [ 10000
 ] is a number [ 10000 ]. Appended. Current port slice [ [21 53 10000] ]

DEBUG: parsePortsCdl() Port range def string:  21,53,10000


DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  []

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [21 53 10000]
DEBUG: buildPortsList(): Adding [ [21 53 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): ThisScan...Portlist, current: [ [21 53 10000] ]
DEBUG: buildPortsList(): Resulting PortList [ [21 53 10000] ]

Bang target: [127.0.0.1], Portcount: [3]
=====================================================
TCP portbangers unleashed...💀💀💀
Jobs run: 3
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:21] -->      [💀] ERROR: dial tcp 127.0.0.1:21: connect: connection refused
[127.0.0.1:10000] -->   [💀] ERROR: dial tcp 127.0.0.1:10000: connect: connection refused
[127.0.0.1:53] -->      [💀] ERROR: dial tcp 127.0.0.1:53: connect: connection refused
mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ go build netbang.go recon.go resolver.go 
mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang --portsfile ../nb_test.conf --debug 127.0.0.1
DEBUG: flags set: [ 2 ]
DEBUG: Flag [debug]: SET
        VALUE -> [true]
DEBUG: Flag [portsfile]: SET
        VALUE -> [../nb_test.conf]
DEBUG: constructor() complete. 
        TARGET NETWORK DETAIL: [ {tcp [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] []} ]
        TARGET: [ 127.0.0.1 ]
DEBUG: CUSTOM PORTDEF->PortList: RESET
        TARGET NETWORK DETAIL: [ {tcp [] []} ]
        TARGET: [ 127.0.0.1 ]
2024/03/29 15:19:54 Opening user-defined port config file [../nb_test.conf].

Data read from cf file: >> 21,53,10000
DEBUG: buildPortsList(): Process input [ 21,53,10000
 ] with parsePortsCdl()
DEBUG: parsePortsCDL(): parsing [ 21,53,10000
 ]
DEBUG: parsePortsCDL(): Evaluating item [ 21 ]
DEBUG: parsePortsCDL(): Item [ 21 ] is a number [ 21 ]. Appended. Current port slice [ [21] ]
DEBUG: parsePortsCDL(): Evaluating item [ 53 ]
DEBUG: parsePortsCDL(): Item [ 53 ] is a number [ 53 ]. Appended. Current port slice [ [21 53] ]
DEBUG: parsePortsCDL(): Evaluating item [ 10000
 ]
DEBUG: parsePortsCDL(): Item [ 10000
 ] is a number [ 10000 ]. Appended. Current port slice [ [21 53 10000] ]

DEBUG: parsePortsCdl() Port range def string:  21,53,10000


DEBUG: parsePortsCdl() RETURN-> Named portlist strings slice:  []

DEBUG: parsePortsCdl() RETURN-> Uint16 ports slice:  [21 53 10000]
DEBUG: buildPortsList(): Adding [ [21 53 10000] ] to ThisScan...Portlist.
DEBUG: buildPortsList(): ThisScan...Portlist, current: [ [21 53 10000] ]
DEBUG: buildPortsList(): Resulting PortList [ [21 53 10000] ]
DEBUG: CUSTOM PORTDEF->buildPortsList() COMPLETE:
        TARGET NETWORK DETAIL: [ {tcp [21 53 10000] []} ]
        TARGET: [ 127.0.0.1 ]

Bang target: [127.0.0.1], Portcount: [3]
=====================================================
TCP portbangers unleashed...💀💀💀
Jobs run: 3
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:53] -->      [💀] ERROR: dial tcp 127.0.0.1:53: connect: connection refused
[127.0.0.1:21] -->      [💀] ERROR: dial tcp 127.0.0.1:21: connect: connection refused
[127.0.0.1:10000] -->   [💀] ERROR: dial tcp 127.0.0.1:10000: connect: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

Dammit. something is still messing up when specifying --proto udp
Uses tcp_short default list, and not the listfile given

ORDERING PROB SUSPECTED: --proto UDP at end of the CLI? ALL GOOD --proto udp at the beginning? NO BUENO
so, this works:
./netbang --portsfile ../nb_test.conf --proto udp --debug 127.0.0.1
and this doesn't:
./netbang --debug --proto udp --portsfile ../nb_test.conf -t 500 127.0.0.1

...ignores --debug flag too.

.hm

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang --portsfile ../nb_test.conf --proto udp --debug 127.0.0.1
2024/03/29 15:28:42 Opening user-defined port config file [../nb_test.conf].

Data read from cf file: >> 21,53,10000

Bang target: [127.0.0.1], Portcount: [3]
=====================================================
UDP portbangers unleashed...💀💀💀
Jobs run: 3
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:10000] -->   [💀] ERROR: read udp 127.0.0.1:56722->127.0.0.1:10000: read: connection refused
[127.0.0.1:53] -->      [💀] ERROR: read udp 127.0.0.1:52953->127.0.0.1:53: read: connection refused
[127.0.0.1:21] -->      [💀] ERROR: read udp 127.0.0.1:42757->127.0.0.1:21: read: connection refused
mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang --debug --proto udp --portsfile ../netbang_ports.tmp -t 500 127.0.0.1
DEBUG: flags set: [ 2 ]
DEBUG: Flag [debug]: SET
        VALUE -> [true]
DEBUG: Flag [proto]: SET
        VALUE -> [true]
DEBUG: constructor() complete. 
        TARGET NETWORK DETAIL: [ {tcp [20 21 22 23 25 43 53 67 68 69 79 80 88 110 111 113 119 135 137 139 143 177 179 389 443 445 464 512 513 514 515 546 547 587 593 636 853 873 989 990 993 995 1270 1337 1433 1434 1521 2222 2323 2375 2483 2484 3306 3333 3389 5060 5061 5432 5800 5900 8008 8080 8081 8088 8443] []} ]
        TARGET: [ 127.0.0.1 ]

Bang target: [127.0.0.1], Portcount: [65]
=====================================================
UDP portbangers unleashed...💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 65
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:23] -->      [💀] ERROR: read udp 127.0.0.1:49047->127.0.0.1:23: read: connection refused
[127.0.0.1:20] -->      [💀] ERROR: read udp 127.0.0.1:50433->127.0.0.1:20: read: connection refused
=======================*CUT OUT RESULTS TO SHORTEN. ACTUAL TOTAL IS 65* --ctg ======================
[127.0.0.1:8088] -->    [💀] ERROR: read udp 127.0.0.1:38851->127.0.0.1:8088: read: connection refused
[127.0.0.1:110] -->     [💀] ERROR: read udp 127.0.0.1:57861->127.0.0.1:110: read: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

demo

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang --portsfile ../nb_test.conf --proto udp --debug 127.0.0.1
2024/03/29 15:28:42 Opening user-defined port config file [../nb_test.conf].

Data read from cf file: >> 21,53,10000

Bang target: [127.0.0.1], Portcount: [3]
=====================================================
UDP portbangers unleashed...💀💀💀
Jobs run: 3
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:10000] -->   [💀] ERROR: read udp 127.0.0.1:56722->127.0.0.1:10000: read: connection refused
[127.0.0.1:53] -->      [💀] ERROR: read udp 127.0.0.1:52953->127.0.0.1:53: read: connection refused
[127.0.0.1:21] -->      [💀] ERROR: read udp 127.0.0.1:42757->127.0.0.1:21: read: connection refused

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./netbang --proto udp --debug --portsfile ../nb_test.conf 127.0.0.1

Bang target: [127.0.0.1], Portcount: [65]
=====================================================
UDP portbangers unleashed...💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 65
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:8443] -->    [💀] ERROR: read udp 127.0.0.1:55432->127.0.0.1:8443: read: connection refused
[127.0.0.1:20] -->      [💀] ERROR: read udp 127.0.0.1:45213->127.0.0.1:20: read: connection refused
---8<--------------CUTTT----------8<------------------------------8<-------------
[127.0.0.1:8088] -->    [💀] ERROR: read udp 127.0.0.1:51682->127.0.0.1:8088: read: connection refused

from netbang.

chux0r avatar chux0r commented on May 28, 2024

confirmed: ANY --proto specification at the beginning of the CLI string will use portlist "tcp_short" (65 ports), and nothing else (the constructor() default)

from netbang.

chux0r avatar chux0r commented on May 28, 2024

--proto was set as type flag.Bool, but was processing Strings, as Args. This introduced some weirdness, paired with the fact that it was explicitly setting bangMode = 1 (scanning), which I'm not sure should be implied when setting the protocols you're focusing on.

It also pointed out that defaulting to "safety OFF" or "not scanning" as the default led us down this interesting path.

Here's how I fixed it. I defaulted netBang to "assume we're scanning unless we invoke a non-scanning context, like (recon)". Switched --proto to flag.String, defaulting to ""(empty) in the flag definition. We don't have to set it anyway, since the constructor sets the default ("tcp") anyway.

All works, finally.

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./test.bash 
Build test by: mongoose@thoughtcrime:/home/mongoose/workbench/dev/golang/netbang
Date:Fri Mar 29 04:32:19 PM CDT 2024
 -- GO version: go version go1.20.3 linux/amd64
 -- Platform OS/arch details: Linux thoughtcrime 6.5.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Mar 12 10:22:43 UTC 2 x86_64 x86_64 x86_64 GNU/Linux


=============BUILD: go build ./netbang.go ./recon.go ./resolver.go
NETBANG TEST CASES:
./netbang

	USAGE:
	netbang [-h|--help]
		Print this help screen.
	netbang [-l|--lists] [<Listname>] 
		Print all usable pre-configured TCP and UDP port group lists and names. With <Listname>, show detailed port listing within <Listname>. 
	
	netbang [[FLAGS] <object(,optionals)>] <TARGET>
		CONFIG FLAGS
			[--debug]
			Enable detailed debug output.
			[--env]
			Print local client environment details.
			[--ns] <IP(:port)> 
			Set DNS resolver to IP (and optionally port, 53 is default). Default setup uses 1.1.1.1:53 (Cloudflare).
	
		SCANNING FLAGS
			[-p|--ports] <num0(,num1,num2,...numN,numA-numZ,named_list)> 
			Specify port numbers, port ranges, and/or named portlists to use. TCP or UDP proto only. 
			(View named portlists with --lists)
	
			[-pf|--portsfile] <(directory path/)filename>
			Input from file a comma-delimited list of port numbers to scan. TCP or UDP proto only.
	
			[--proto] <tcp|udp>
			Specify protocol to use, tcp, udp, or icmp. Default is "tcp".
	
			[-t] <timeout, in ms>
			Network connect timeout to use. Defaults to 3 seconds (3000ms). To use network-defined timeout, set to -1.
		
		RECON FLAGS
			[--recon] <list> | [--recon] <service> <method> <apikey>
			Ninja recon module. List available modules with "list" or, specify a service, method, and optionally, API keys if needed. 
	
		<TARGET> 
			Object of scan or recon. Target must be an IP address, an IP/CIDR range, or a valid hostname.
		
		NOTE: Scanning and Recon are mutually exclusive. Setting scanning flags and recon flags together in the same invocation will behave unpredictably.
				
	
=============BASIC SCAN-BY-HOSTNAME: ./netbang scanme.org

Bang target: [scanme.org], Portcount: [65]
=====================================================
TCP portbangers unleashed...😎😎💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 65
scanme.org Scan Results
================================================================================
[scanme.org:22] -->	[😎] OPEN
[scanme.org:80] -->	[😎] OPEN
[scanme.org:23] -->	[💀] ERROR: dial tcp 45.33.32.156:23: connect: connection refused
[scanme.org:53] -->	[💀] ERROR: dial tcp 45.33.32.156:53: connect: connection refused
[scanme.org:68] -->	[💀] ERROR: dial tcp 45.33.32.156:68: connect: connection refused
[scanme.org:547] -->	[💀] ERROR: dial tcp 45.33.32.156:547: connect: connection refused
[scanme.org:43] -->	[💀] ERROR: dial tcp 45.33.32.156:43: connect: connection refused
[scanme.org:79] -->	[💀] ERROR: dial tcp 45.33.32.156:79: connect: connection refused
[scanme.org:67] -->	[💀] ERROR: dial tcp 45.33.32.156:67: connect: connection refused
[scanme.org:110] -->	[💀] ERROR: dial tcp 45.33.32.156:110: connect: connection refused
[scanme.org:8443] -->	[💀] ERROR: dial tcp 45.33.32.156:8443: connect: connection refused
[scanme.org:593] -->	[💀] ERROR: dial tcp 45.33.32.156:593: connect: connection refused
[scanme.org:636] -->	[💀] ERROR: dial tcp 45.33.32.156:636: connect: connection refused
[scanme.org:8088] -->	[💀] ERROR: dial tcp 45.33.32.156:8088: connect: connection refused
[scanme.org:515] -->	[💀] ERROR: dial tcp 45.33.32.156:515: connect: connection refused
[scanme.org:546] -->	[💀] ERROR: dial tcp 45.33.32.156:546: connect: connection refused
[scanme.org:25] -->	[💀] ERROR: dial tcp 45.33.32.156:25: connect: connection refused
[scanme.org:113] -->	[💀] ERROR: dial tcp 45.33.32.156:113: connect: connection refused
[scanme.org:20] -->	[💀] ERROR: dial tcp 45.33.32.156:20: connect: connection refused
[scanme.org:88] -->	[💀] ERROR: dial tcp 45.33.32.156:88: connect: connection refused
[scanme.org:587] -->	[💀] ERROR: dial tcp 45.33.32.156:587: connect: connection refused
[scanme.org:119] -->	[💀] ERROR: dial tcp 45.33.32.156:119: connect: connection refused
[scanme.org:143] -->	[💀] ERROR: dial tcp 45.33.32.156:143: connect: connection refused
[scanme.org:389] -->	[💀] ERROR: dial tcp 45.33.32.156:389: connect: connection refused
[scanme.org:989] -->	[💀] ERROR: dial tcp 45.33.32.156:989: connect: connection refused
[scanme.org:853] -->	[💀] ERROR: dial tcp 45.33.32.156:853: connect: connection refused
[scanme.org:873] -->	[💀] ERROR: dial tcp 45.33.32.156:873: connect: connection refused
[scanme.org:464] -->	[💀] ERROR: dial tcp 45.33.32.156:464: connect: connection refused
[scanme.org:512] -->	[💀] ERROR: dial tcp 45.33.32.156:512: connect: connection refused
[scanme.org:69] -->	[💀] ERROR: dial tcp 45.33.32.156:69: connect: connection refused
[scanme.org:990] -->	[💀] ERROR: dial tcp 45.33.32.156:990: connect: connection refused
[scanme.org:177] -->	[💀] ERROR: dial tcp 45.33.32.156:177: connect: connection refused
[scanme.org:443] -->	[💀] ERROR: dial tcp 45.33.32.156:443: connect: connection refused
[scanme.org:513] -->	[💀] ERROR: dial tcp 45.33.32.156:513: connect: connection refused
[scanme.org:179] -->	[💀] ERROR: dial tcp 45.33.32.156:179: connect: connection refused
[scanme.org:2484] -->	[💀] ERROR: dial tcp 45.33.32.156:2484: connect: connection refused
[scanme.org:1270] -->	[💀] ERROR: dial tcp 45.33.32.156:1270: connect: connection refused
[scanme.org:1434] -->	[💀] ERROR: dial tcp 45.33.32.156:1434: connect: connection refused
[scanme.org:1521] -->	[💀] ERROR: dial tcp 45.33.32.156:1521: connect: connection refused
[scanme.org:995] -->	[💀] ERROR: dial tcp 45.33.32.156:995: connect: connection refused
[scanme.org:993] -->	[💀] ERROR: dial tcp 45.33.32.156:993: connect: connection refused
[scanme.org:3306] -->	[💀] ERROR: dial tcp 45.33.32.156:3306: connect: connection refused
[scanme.org:514] -->	[💀] ERROR: dial tcp 45.33.32.156:514: connect: connection refused
[scanme.org:1433] -->	[💀] ERROR: dial tcp 45.33.32.156:1433: connect: connection refused
[scanme.org:2222] -->	[💀] ERROR: dial tcp 45.33.32.156:2222: connect: connection refused
[scanme.org:5061] -->	[💀] ERROR: dial tcp 45.33.32.156:5061: connect: connection refused
[scanme.org:1337] -->	[💀] ERROR: dial tcp 45.33.32.156:1337: connect: connection refused
[scanme.org:3389] -->	[💀] ERROR: dial tcp 45.33.32.156:3389: connect: connection refused
[scanme.org:5060] -->	[💀] ERROR: dial tcp 45.33.32.156:5060: connect: connection refused
[scanme.org:5432] -->	[💀] ERROR: dial tcp 45.33.32.156:5432: connect: connection refused
[scanme.org:3333] -->	[💀] ERROR: dial tcp 45.33.32.156:3333: connect: connection refused
[scanme.org:5900] -->	[💀] ERROR: dial tcp 45.33.32.156:5900: connect: connection refused
[scanme.org:2323] -->	[💀] ERROR: dial tcp 45.33.32.156:2323: connect: connection refused
[scanme.org:2483] -->	[💀] ERROR: dial tcp 45.33.32.156:2483: connect: connection refused
[scanme.org:5800] -->	[💀] ERROR: dial tcp 45.33.32.156:5800: connect: connection refused
[scanme.org:2375] -->	[💀] ERROR: dial tcp 45.33.32.156:2375: connect: connection refused
[scanme.org:8008] -->	[💀] ERROR: dial tcp 45.33.32.156:8008: connect: connection refused
[scanme.org:8080] -->	[💀] ERROR: dial tcp 45.33.32.156:8080: connect: connection refused
[scanme.org:8081] -->	[💀] ERROR: dial tcp 45.33.32.156:8081: connect: connection refused
[scanme.org:445] -->	[💀] ERROR: dial tcp 45.33.32.156:445: i/o timeout
[scanme.org:21] -->	[💀] ERROR: dial tcp 45.33.32.156:21: i/o timeout
[scanme.org:111] -->	[💀] ERROR: dial tcp 45.33.32.156:111: i/o timeout
[scanme.org:135] -->	[💀] ERROR: dial tcp 45.33.32.156:135: i/o timeout
[scanme.org:137] -->	[💀] ERROR: dial tcp 45.33.32.156:137: i/o timeout
[scanme.org:139] -->	[💀] ERROR: dial tcp 45.33.32.156:139: i/o timeout

=============UDP SCAN, PORTS DEFINED IN FILE, CUSTOM TIMEOUT ./netbang --proto udp --portsfile ../netbang_ports.tmp -t 500 127.0.0.1

	FILE INJECT ../netbang_ports.tmp:53,161,10000
2024/03/29 16:32:22 Opening user-defined port config file [../netbang_ports.tmp].

Data read from cf file: >> 53,161,10000
Bang target: [127.0.0.1], Portcount: [3]
=====================================================
UDP portbangers unleashed...💀💀💀
Jobs run: 3
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:10000] -->	[💀] ERROR: read udp 127.0.0.1:53573->127.0.0.1:10000: read: connection refused
[127.0.0.1:161] -->	[💀] ERROR: read udp 127.0.0.1:35921->127.0.0.1:161: read: connection refused
[127.0.0.1:53] -->	[💀] ERROR: read udp 127.0.0.1:37041->127.0.0.1:53: read: connection refused

=============EXECUTE: ./netbang --recon list

Ninja recon services and methods available:
	[shodan] :: Shodan is a search engine for Internet-connected devices. Requires API key. See https://developer.shodan.io/api
	[dns]    :: DNS performs a lookup on a hostname, reverse lookup on an IP address.

=============EXECUTE: ./netbang --recon dns amazon.com

DNS lookup: [amazon.com] Resolver: [1.1.1.1] Port: 53
Host [amazon.com] resolves as:
	IP #1: 205.251.242.103
	IP #2: 54.239.28.85
	IP #3: 52.94.236.248

=============EXECUTE: ./netbang --recon dns --ns 8.8.8.8 github.com
2024/03/29 16:32:22 Nameserver-set host IP: [8.8.8.8]
Custom DNS resolver:  8.8.8.8

DNS lookup: [github.com] Resolver: [8.8.8.8] Port: 53
Host [github.com] resolves as:
	IP #1: 140.82.112.3

=============EXECUTE: ./netbang --recon shodan hostip 1.1.1.1

Unparsed Shodan data for target 1.1.1.1:
&{ [161 2082 2083 2052 69 2086 2087 2095 80 8880 8080 53 8443 443 2096] 1.1.1.1 Cloudflare, Inc. [one.one.one.one] APNIC and Cloudflare DNS Resolver project [] AS13335 2024-03-29T16:29:46.208910 [0xc0004e4180 0xc0004e4300 0xc0004e4480 0xc0004e4600 0xc0004e4780 0xc0004e4900 0xc0004e4a80 0xc0004e4c00 0xc0004e4d80 0xc0004e4f00 0xc0004e5080 0xc0004e5200 0xc0004e5380 0xc0004e5500 0xc0004e5680 0xc0004e5800] {The Rocks NSW 0 -33.85923 151.2081 Australia AU   0}}

from netbang.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.