2010-08-17 4 views
0

Написанных в JAVAтуннелирования через HTTP

Im создавая программу, которая подключается к прокси-серверу, а затем туннелирование на другой сервер для отправки TCP-пакетов, это мой код:

{ 
Socket skt = new Socket(proxy_address, proxy_port); 
PrintStream myOutput = new PrintStream(skt.getOutputStream()); 

String Request = "CONNECT " + host + ":" + 443 + " HTTP/1.0"; 
String host3 = "Host: " + host + ":" + 443; 
myOutput.println(Request + "\r\n" + host3); 
} 

Пытаясь найти почему я не получаю ответ от прокси-сервера.

+2

Какой у вас язык? Это похоже на Java, но, конечно, вы должны пометить свой вопрос на используемом языке. – jigfox

ответ

0

Вам нужно еще два конца строки - один для указания конца заголовка Host: и один для пустой строки, указывающий конец запроса на соединение. Попытка:

myOutput.println(Request + "\r\n" + host3 + "\r\n\r\n"); 
+0

спасибо, работает как шарм – Masterban

+0

У меня на самом деле есть еще один вопрос, когда я начинаю отправлять пакеты, которые хочу на сервер Мне нужно что-то особенное? как добавить пустую строку в конец? – Masterban

+0

@Masterban: Нет, после того, как вы прочтете заголовки ответов с сервера (которые заканчиваются пустой строкой), если код ответа 200, тогда у вас будет сырое соединение с другой стороной. – caf

0

Вы также можете попытаться взглянуть либо на corkscrew, либо на Proxytunnel, хотя это в основном SSH через HTTP (S) -прокси.

+0

программа находится в java lol – Masterban

+0

Вы все еще можете использовать эти прогасы, чтобы проверить, как работает передача пакетов по HTTP ... – plaes