Skarpetki SSH

Od razu wyjaśnię ten tytuł - chodzi mi o protokół SOCKS, dzięki któremu możemy przekierować ruch sieciowy z przeglądarki internetowej przez serwer do którego mamy dostęp po SSH (i który pozwala na przekierowanie portów).

Podczas weekendu byłem u rodziców i postanowiłem zalogować się na portal randkowy i sobie „poswipować”. Jak wiemy te portale bazują podawane profile na podstawie twojej lokalizacji.

Ale skąd strona internetowa wie, gdzie jesteś, jeśli twoje urządzenie (np. laptop) nie ma GPSa?

Dostawcy internetu rejestrują przybliżoną lokalizację (zazwyczaj z dokładnością do miasta) dla dzierżawionego adresu IP w bazie WHOIS. Każdy może zrobić odpowiednie zapytanie dla otrzymanego adresu IP i się dowiedzieć.

No więc pomyślałem, że chciałbym, aby strona myślała, że jestem w Warszawie. W moim mieszkaniu mam uruchomiony serwer z dostępem po SSH.

Żeby uruchomić połączenie po protokole SOCKS wystarczy wpisać w terminal

ssh -D socks_port -N mój_server

Flaga -D oznacza użyj protokołu SOCKS, a flaga -N powoduje, że nie będę miał dostępu do powłoki na moim serwerze (Nie przyjmuj poleceń) i program będzie sobie czekał na zamknięcie go przez Ctr+C.

Następnie idziemy do Firefoxa i w ustawieniach proxy wybieramy ustawienia manualne i w polu SOCKS wpisujemy localhost oraz podany wcześniej port. W moim przypadku użyłem sobie portu 8123.

I tyle. Możemy wejść na stronę typu MyIp.net i sprawdzić czy faktycznie łączymy się przez proxy.

Chociaż u mnie to nic nie dało, bo portal ciągnął lokalizację z aplikacji na telefonie, a spoofing geolokacji w smartfonie to znacznie więcej zabawy.