SOCKS Proxy nutzen/netcat-openbsd
- Anwendungsfall
- Über den Zugriff auf shell.uugrn.org:8888 bekommt man seine eigene IP-Adresse angezeigt. netcat-openbsd unterstützt dabei über die Parameter -4 und -6 die explizite Nutzung von IPv4 oder IPv6, entsprechend kann man damit auch testen, ob und wenn ja mit welcher IPv6-Adresse man Zugriff auf das Internet hat.
- Beispiel ohne SOCKS-Proxy
$ nc -4 shell.uugrn.org 8888 84.173.256.9 $ nc -6 shell.uugrn.org 8888 2003:5f:ffff:2a00:bc8f:eeee:9355:3a19
Die angezeigten (leicht verfremdeten) Adressen sind IPv4 und IPv6 aus dem Netz der Telekom (DSL).
- Beispiel mit SOCKS-Proxy 127.0.0.1 Port 1087
$ nc -6 -X 5 -x 127.0.0.1:1087 shell.uugrn.org 8888 nc: no proxy support for IPv6 $ nc -4 -X 5 -x 127.0.0.1:1087 shell.uugrn.org 8888 2a03:2500:1:6:16::
Auffallend hier: netcat kann SOCKS nur in Verbindung mit IPv4 benutzen, dennoch verbindet sich das Tunnelende hinter 127.0.0.1:1087 mit seiner IPv6-Adresse zum Ziel, entsprechend antwortet der Service mit der IPv6-Adresse des SOCKS-Endpunktes
$ host 2a03:2500:1:6:16:: 0.0.0.0.0.0.0.0.0.0.0.0.6.1.0.0.6.0.0.0.1.0.0.0.0.0.5.2.3.0.a.2.ip6.arpa domain name pointer shell.uugrn.org.
Nutzt man einen anderen SOCKS-Proxy, dann ändert sich auch die Antwort entsprechend:
- Beispiel mit SOCKS-Proxy 127.0.0.1 Port 1081
$ nc -4 -X 5 -x 127.0.0.1:1081 shell.uugrn.org 8888 2a03:2500:1:6:19:: $ host 2a03:2500:1:6:19:: 0.0.0.0.0.0.0.0.0.0.0.0.9.1.0.0.6.0.0.0.1.0.0.0.0.0.5.2.3.0.a.2.ip6.arpa domain name pointer rabe.uugrn.org.
Man kann einen solchen SOCKS-Proxy auch verwenden, um auf ein dahinter liegendes RfC1918-Netz zuzugreifen, der Service ist hier entsprechend shell.uugrn.lan:8888 und die SOCKS-Tunnel auf den Ports 1087 und 1081:
$ nc -X 5 -x 127.0.0.1:1081 shell.uugrn.lan 8888 10.253.1.25 $ nc -X 5 -x 127.0.0.1:1087 shell.uugrn.lan 8888 10.253.1.22
Relvant ist in diesem Beispiel, dass die DNS-Auflösung für "shell.uugrn.lan" nicht durch netcat erfolgt sondern durch den entfernten Teil des SOCKS-Proxies:
$ host shell.uugrn.lan Host shell.uugrn.lan not found: 3(NXDOMAIN) $ host 10.253.1.25 Host 25.1.253.10.in-addr.arpa. not found: 3(NXDOMAIN)