To polecenie desproxy, które można uruchomić w darmowym dostawcy hostingu OnWorks, korzystając z jednej z wielu naszych darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
desproxy - tunel TCP dla proxy HTTP
STRESZCZENIE
desproxy zdalny_host zdalny_port host_proxy port_proxy lokalny_port
OPCJE
Brak.
OPIS
Serwery proxy HTTP to serwery sieciowe, które służą do zapewniania dostępu HTTP (sieci) komputerom,
nie są podłączone do Internetu. Jest to typowy scenariusz w sieciach korporacyjnych i
ostatnio także w sieciach domowych. Proxy HTTP łączą się z Internetem bezpośrednio lub za pośrednictwem
pełnomocnik rodzicielski (który w rzeczywistości łączy się z Internetem bezpośrednio lub za pośrednictwem innego rodzica)
proxy, itd.)
Klienci HTTP (przeglądarki internetowe) używają serwerów proxy HTTP do żądania stron internetowych; serwer HTTP po prostu
przekazuje te żądania do serwera docelowego. Wszystkie negocjacje odbywają się za pośrednictwem protokołu HTTP
Protokół, który został zaprojektowany wyłącznie do obsługi żądań HTTP i nie obsługuje ogólnego ruchu (TCP/IP).
Dlatego nie możesz (normalnie) używać aplikacji internetowych poza swoim serwerem internetowym, jeśli
znajdują się za serwerem proxy HTTP.
Do tego właśnie nadaje się desproxy. Desproxy to tunel TCP, co oznacza, że desproxy może
przekierować ruch TCP/IP przez serwer proxy HTTP. Desproxy używa metody HTTP/1.1 (CONNECT) do
nawiązywanie połączeń TCP/IP na żądanie. CONNECT jest używany do połączeń SSL podczas uzyskiwania dostępu
aby zabezpieczyć witryny, więc jeśli możesz uzyskać dostęp do witryn obsługujących protokół SSL (np. www.hotmail.com)
możesz użyć desproxy.
Nie cały ruch IP (Internet) to tylko TCP/IP. W rzeczywistości istnieją jeszcze dwa powszechnie stosowane protokoły
używane w Internecie nieobsługiwane przez desproxy: UDP i ICMP:
· ICMP jest używany do zarządzania dużymi sieciami IP. Jedyna aplikacja używająca ICMP, którą możesz przegapić
to jest ping.
· UDP to niezawodny, bezpołączeniowy, szybki protokół transportowy, używany głównie w sieciach
gry i inne aplikacje, które potrzebują ruchu sieciowego o niskim opóźnieniu. W szczególności DNS używa
Pakiety UDP zapewniające szybką dostawę.
Będzie deproxy praca w my HTTP pełnomocnik?
Krótka odpowiedź: po prostu spróbuj
Długa odpowiedź: desproxy powinno działać z każdym serwerem proxy HTTP, z następującymi wyjątkami:
· Serwery proxy MS z uwierzytelnianiem NTLM. NTLM to zastrzeżona metoda uwierzytelniania firmy
Microsoft, nie jest to standardowa metoda uwierzytelniania. Może w przyszłości desproxy będzie
obsługuje uwierzytelnianie NTLM, ale obecnie tego nie robi.
· Proxy HTTP/1.0. Desproxy potrzebuje metody CONNECT, która jest dostępna tylko z
Wersja protokołu HTTP/1.1. Jest bardzo mało prawdopodobne, że twój serwer proxy nie akceptuje HTTP/1.1
wnioski.
· Proxy HTTP/1.1 bez metody CONNECT. Być może administrator sieci
wyłączono obsługę CONNECT w serwerze proxy lub może CONNECT jest ograniczony do protokołu HTTPS
portu (443).
Założenia
Załóżmy, że:
· nazwa hosta serwera proxy HTTP to „proxy”, a jego adres to „192.0.0.1”
· Twój port proxy HTTP to „8080”
· Twój serwer proxy HTTP nie potrzebuje uwierzytelniania. Jeśli potrzebujesz uwierzytelniania HTTP,
Proszę przeczytać [2]to.
· Twoja konsola systemowa będzie terminalem (xterm, konsolą lub terminalem wirtualnym), jeśli
używasz Linuksa, *BSD lub innego UN*X
O mnie połączenia
Wyobraź sobie, że potrzebujesz aplikacji sieciowej, która wykorzystuje tylko jedno połączenie TCP/IP z tylko jednym
serwer. Tak jest w przypadku IRC, w którym łączysz się z serwerem IRC lub ssh, gdzie
typowo łącz się tylko z jednym komputerem UNIX na raz. To właśnie nazywam „statycznym”
połączenie".
Oczywiście nie dotyczy to przeglądarki internetowej ani programu do udostępniania plików – żadnego z nich
wykonywanie kilku połączeń na raz do różnych komputerów. To właśnie nazywam „dynamicznym”
znajomości".
STATYCZNY POŁĄCZENIA PRZYKŁADY
pozycja W jaki sposób do posługiwać się deproxy do connect do IRC
Załóżmy, że chcesz połączyć się z IRC używając irc.undernet.org port 6667 jako swojego serwera IRC.
Najpierw musisz uruchomić konsolę systemową (szczegóły w Założeniach powyżej) i wpisać
desproxy irc.undernet.org 6667 proxy 8080 1080
Powinno to uruchomić program desproxy, który wyświetli Ci informację o prawach autorskich i pewne informacje.
Poniżej zrzut ekranu z desproxy 0.0.23
-----------------------------------
desproxy 0.0.23
c) Miguelanxo Otero Salgueiro 2001
W tej wersji wprowadzono poprawki
przez Rutgera Nijlunsiga.
Zobacz RutgerWork.txt w dokumentacji
aby uzyskać szczegółowe informacje o nowych funkcjach.
Świetna robota, stary!
-----------------------------------
Port TCP 1080 powiązany i nasłuchujący
Naciśnij ENTER, aby wyjść
Desproxy raportuje, że nasłuchuje na porcie lokalnym 1080, czekając na połączenie.
Otwórz swojego ulubionego klienta IRC (najpierw go zainstaluj ;D) i połącz się z adresem 127.0.0.1 port 1080 jako
Twój serwer IRC (127.0.0.1 to wirtualny adres IP, zawsze odnoszący się do Twojego komputera lokalnego).
Następnie Twój klient IRC powinien połączyć się z desproxy. Wygląda to tak:
Żądanie połączenia z 127.0.0.1, port 1220
Łączenie z serwerem proxy http (proxy:8080)
Nawiązano połączenie dwukierunkowe
Następnie powinieneś móc korzystać ze swojego klienta IRC tak, jakbyś był bezpośrednio połączony
Strona irc.undernet.org.
W jaki sposób do posługiwać się deproxy do log in a komputer za pomocą ssh
Załóżmy, że posiadasz konto powłoki na komputerze obsługującym bezpieczne połączenia przez SSH.
Załóżmy, że nazywa się shell.corporate.com. SSH domyślnie używa portu numer 22. Więc zacznij
nowa konsola systemowa i typ:
desproxy shell.corporate.com 22 serwer proxy 8080 1080
Następnie powiedz swojemu klientowi SSH, aby połączył się z localhost (127.0.0.1) port 1080 i powinieneś
pojawi się monit o podanie hasła SSH!
W jaki sposób do posługiwać się deproxy do posługiwać się Inne statyczny klientów
Załóżmy, że chcesz użyć aplikacji sieciowej X, która nie obsługuje serwerów proxy HTTP, ale
użyj jednego połączenia TCP/IP (takiego jak IRC i SSH). Aby X działał z desproxy, wystarczy
1) Wyszukaj domyślny port tej aplikacji 2) Wyszukaj domyślny serwer
tę aplikację i 3) Uruchomić desproxy, przekazując tę informację jako parametry wiersza poleceń.
Format jest
desproxy zdalny_host zdalny_port host_proxy port_proxy lokalny_port
Wystarczy podać żądany port lokalny, ale zawsze powyżej 1023, ponieważ mogą być potrzebne niższe porty
przywileje administratora.
O mnie HTTP Uwierzytelnianie
Niektóre serwery proxy HTTP ze względów bezpieczeństwa potrzebują metody sprawdzania tożsamości klienta. To jest
nazywane uwierzytelnianiem HTTP (lub autoryzacją HTTP).
Despoxy obsługuje teraz podstawowe uwierzytelnianie HTTP. Jeśli twój serwer proxy potrzebuje innego rodzaju
uwierzytelnianie (Digest lub NTLM) desproxy nie będzie działać.
Aby desproxy działało z serwerem proxy HTTP wymagającym uwierzytelnienia, należy to zrobić
desproxy jakiej nazwy użytkownika i hasła użyć. Desproxy odczytuje zmienną środowiskową
PROXY_USER aby uzyskać te informacje.
Załóżmy, że nazwa użytkownika proxy to „mayka”, a hasło proxy to „007sgotLTK”. Wtedy,
przed użyciem któregokolwiek z programów desproxy należy wpisać w konsoli systemowej:
ustaw PROXY_USER=mayka:007sgotLTK
Uważaj, hasła mogą zawierać znaki, które należy usunąć z systemu
konsoli. Na przykład, jeśli Twoje hasło to „moon!=sun” i używasz Linuksa,
powinienem wpisać
export PROXY_USER=twoja_nazwa_użytkownika:moon\!\=słońce
Uwaga: znaki „!” i „=” są zastępowane ukośnikiem odwrotnym „\”. Jeśli używasz systemu MS
W systemie Windows, o ile wiem, nie trzeba unikać żadnego znaku w haśle.
head1 Rozwiązywanie problemów
Normalna sesja desproxy wygląda następująco:
$ desproxy127.0.0.1 21 127.0.0.1 4480 2222
-----------------------------------
desproksy
HTTP / 1.1
c) Miguelanxo Otero Salgueiro 2001
-----------------------------------
Nasłuchiwanie na porcie 2222
Żądanie połączenia z 127.0.0.1, port 1227
Łączenie z serwerem proxy http (127.0.0.1:4480)
Nawiązano połączenie dwukierunkowe
(127.0.0.1:21) <-> (lokalny host)
Koniec połączenia.
Tutaj połączenie z lokalnym serwerem FTP (127.0.0.1:21) jest nawiązywane przy użyciu lokalnego serwera proxy
(127.0.0.1:4480). Możesz zobaczyć, jak po zaakceptowaniu połączenia, desproxy łączy się z
serwer proxy wymienia kilka bajtów (sesja FTP) i kończy połączenie.
Desproxy jest dość samowystarczalny w kwestii błędów. Desproxy-inetd jest o wiele bardziej niejasny,
Ponieważ inetd używa go w sposób, w jaki nie może drukować komunikatów o błędach na konsoli.
Zasadniczo istnieją dwa rodzaje błędów:
· Błędy zgłaszane podczas łączenia się z serwerem proxy: strona http pokazująca błąd to
wystawiany.
· Co drugi błąd: wyświetlany jest krótki komunikat o błędzie.
Niektóre typowe błędy HTTP (zgłaszane przez serwer proxy)
* HTTP 400 Błędne żądanie - niektóre wersje desproxy (0.0.21) powodują
ten błąd (FATALNY)
* HTTP 403 Forbidden - zabronione (FATAL)
* HTTP 404 Nie znaleziono – Strona nie została znaleziona lub zasób nie został znaleziony (NIEZNACZNIE)
* Metoda HTTP 405 niedozwolona - Nie można wykonać metody CONNECT (FATAL)
* Błąd wewnętrzny serwera HTTP 500 — być może próbujesz się połączyć
zdalny zamknięty port (zdalna witryna zgłosiła odrzucenie połączenia)
(DROBNY)
* Usługa HTTP 503 niedostępna -> Serwer proxy nie może uzyskać dostępu do witryny
(DROBNY)
* HTTP 505 Wersja HTTP nie jest obsługiwana — metoda CONNECT jest niedostępna
(ŚMIERTELNY)
* HTTP 502 Bad Gateway – oznacza „błąd wyszukiwania DNS” (NIEWAŻNY)
(FATAL) - Zapomnij o używaniu desproxy, nie możesz przekroczyć proxy. (TODO) - Do zrobienia, nie
jeszcze nie wdrożone. (MNIEJSZE) - Tymczasowa usterka lub może Twoja wina.
ŚRODOWISKO
UŻYTKOWNIK_PROXY
Przykład:
PROXY_USER=mayka:007sgotLTK
Uważaj, hasła mogą zawierać znaki, które należy usunąć z systemu
konsoli. Na przykład, jeśli Twoje hasło to „moon!=sun” i używasz Linuksa,
powinienem wpisać
UŻYTKOWNIK_PROXY
Przykład:
PROXY_USER=twoja_nazwa_użytkownika:moon\!\=słońce
Należy pamiętać, że znaki "!" i "=" należy zastąpić ukośnikiem odwrotnym "\".
Użyj desproxy online za pomocą usług onworks.net