Mogę uzyskać dostęp do strony internetowej dobrze, bezpośrednio uderzając w mój serwer w następujący sposób:
$ echo "GET /sample" | nc web-server 80
This is contents of /sample...
$
Teraz chciałbym, aby netcat działał przez serwer proxy Squid HTTP (nasłuchuje na porcie 3128), podobnie jak mogę skonfigurować moją przeglądarkę Firefox za pomocą preferencji serwera proxy i pozwolić, aby działała przez serwer proxy HTTP.
Próbowałem następujące, ale to nie działało:
$ echo "GET /sample" | nc -x squid-proxy:3128 web-server 80
<Seemed to be blocked FOREVER on input, so I killed it.>
<Ctrl-C>
$
Uwaga: Używam wersji NetHata RHEL 5.3, która ma następujące opcje:
$ nc --help
nc: invalid option -- -
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
Fragment strony man nc
:
EXAMPLES
<snip>
Connect to port 42 of host.example.com via an HTTP proxy at 10.2.3.4, port 8080.
This example could also be used by ssh(1); see the ProxyCommand directive in
ssh_config(5) for more information.
$ nc -x10.2.3.4:8080 -Xconnect host.example.com 42
Ponieważ mój nie jest przypadkiem użycia ssh / SSL, nie jestem pewien, jak korzystać z opcji -x
/ -X
, ani nawet czy powinienem ich w ogóle używać!
Jeśli istnieje więcej niż jeden sposób na osiągnięcie powyższego celu (mianowicie routing ruchu netcat przez proxy HTTP), byłbym bardzo wdzięczny, gdybyś mógł udostępnić je wszystkie.
Z góry bardzo dziękuję.
0.1
aby ukryć moją ignorancję.:)
nc
i Firefox trochę to wyjaśniają?nc squid-proxy 3128
następnieGET http://webserver/sample HTTP/1.0
, ale dostałem HTTP / 1.0 403 Forbidden (błąd odmowy dostępu).:)
prawdopodobnie możesz użyćtcpdump
lubwireshark
stuknąć własneCONNECT
połączenie i uzyskać wgląd ...Spójrz na socat: http://www.dest-unreach.org/socat/doc/README
źródło
echo "GET /sample HTTP/1.0" | socat PROXY:squid-proxy:web-server:80,proxyport=3128 STDIN
, ale mam ten błąd:2012/05/17 06:56:23 socat[3135] E CONNECT web-server:80: Forbidden
. Teraz, aby zobaczyć, czy dobrze zrozumiałem to narzędzie, wypróbowałem podstawowe użycie bez serwera proxy:echo "GET /sample HTTP/1.0" | socat TCP4:web-server:80 STDIN
ale nie otrzymałem odpowiedzi! Więc, oczywiście, brakuje mi czegoś tutaj w związku z używaniem socat. Byłbym wdzięczny, gdybyś mógł wskazać mój błąd.STDIO
(lub,-
) zamiastSTDIN
. Ale wersja proxy nadal wyświetla ten sam błąd.echo "GET http://web-server/sample" | socat - TCP:squid-proxy:3128
i zadziałało. Czy potwierdziłbyś, czy właśnie w ten sposób mam korzystaćsocat
(zamiastPROXY:...
specyfikacji adresu)?