Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Скрыть передаваемые данные Добавлено: 01.02.09 10:34  

Автор вопроса:  Александр | Web-сайт: mobilles.ru
Здравствуйте! Народ, нужна помощь! Есть программка, которая общается с инетом. Когда передаются данные, то их можно просмотреть в проге-дебаггере http ( в моем случае Fiddler). Как сделать так, чтобы их там нельзя было просмотреть? Очень нужно!

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 01.02.09 10:42
На клиенте шифруй, на сервере расшифровывай.

Или используй https вместо http, при этом не забудь клиентом при подключении проверять сертификат сервера - тогда клиент сможет заметить попытку перехвата (если проксик вроде Fiddler'а попытается прикинутсья сервером и вернуть клиенту свой сертификат).

Если сервер чужой и нет возможности организовать на нем шифрование/дешифрование данных, и https тоже нет - то можно поставить где-то в интернете свой промежуточный сервер. Клиент будет общаться с ним по защищенному каналу, а промежуточный сервер будет ретранслировать информацию на конечный сервер обычным путем.

Вообще не очень понятна задача. Подробней плиз, что за программка, с кем она общается (свой сервер или чужой, есть ли https там), зачем нужна такая конспирация.

Ответить

Номер ответа: 2
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #2
Добавлено: 01.02.09 11:23
Программа общается с обычными страничками в инете без всяких https - логинится на сайтах, т.е. передает логин и пароль, что меня всех больше напрягает. Шифорование/дешифрование данных невозможно, использование https и использование промежуточного сервера также возможна. И еще как тогда например Opera "общается", если в Fiddler ничего не видно?

Ответить

Номер ответа: 3
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 01.02.09 11:53
Покажи HTTP-запрос, который фиддлер видит когда опера передает данные.

Если фиддлер вообще не видит - то возможно ты просто неправильно
настроил оперу :) Настрой в ней прокси, чтобы опера подключалась к
сайтам через фиддлер, и тогда уже смотри.

Ответить

Номер ответа: 4
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #4
Добавлено: 01.02.09 12:18
Если я настраиваю прокси в Opera, то fiddler видит ее данные, если нет, то не видит. А мне надо чтобы и мою прогу не видел. Что можете сказать насчет запроса Proxy-Connection: Close - как его создать?

Вот так
  1. HttpWebRequest.Headers.Add("Proxy-Connection", "close")

и так
  1. HttpWebRequest.Connection = "Close"


Не получается.

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 01.02.09 12:43
В любом случае, даже если ты не настроишь фидле как прокси - есть
другие программы, способные перехватить этот трафик.
То есть так ты проблему не решишь.

Ответить

Номер ответа: 6
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #6
Добавлено: 01.02.09 13:00
Ну хотя бы уменьшится шанс. А то это получается, что просто внаглую все можно посмотреть.

Ответить

Номер ответа: 7
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #7
Добавлено: 01.02.09 13:06
Ну тогда подключайся к серверу напрямую, не используя прокси. Сейчас у
тебя наверное программа берет настройки прокси из настроек IE.

Но тогда возникает еще одна проблема. Если вдруг у пользователя так
организован доступ в интернет, что без прокси подключиться к серверу
нельзя, то твоя программа обломается. Придется еще дать пользователю
возможность в твоей программе указывать настройки подключения
(настройки прокси-сервера).

И всё равно, это не решение. Если человек знает про Fiddler, то он
знает и другие способы, как перехватить нешифрованный трафик.

Ответить

Номер ответа: 8
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #8
Добавлено: 01.02.09 13:15
В IE прокси отключен. Везде где можно прокси отключен. В том и дело, а fiddler все равно перехватывает. Ну хотя бы fiddler притупить, все равно много прог построено как и он. Повторюсь, чтобы хотя бы уменьшить шанс. Меня сейчас заинтересовал заголовок Proxy-Connection: Close - как его осуществить? - возможно это решение проблемы.

Ответить

Номер ответа: 9
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #9
Добавлено: 01.02.09 13:29
Нет, Proxy-connection - это не то. Это указание проксику завершить
TCP-соединение после передачи данных.

Кстати, само наличие заголовка Proxy-connection говорит о том, что
тот, кто передает данные, знает, что данные идут не напрямую, а через
прокси. Так что где-то какие-то настройки есть.

Как ты вообще подключаешься к серверу? Покажи код.

Ответить

Номер ответа: 10
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #10
Добавлено: 01.02.09 13:48
  1. req = HttpWebRequest.Create(url)
  2.             req.Method = "HEAD"
  3.             req.UserAgent = "Opera"
  4.             req.Accept = "text/html" ',image/gif"
  5.             req.Headers.Add("Accept-Language", "ru,ru-RU")
  6.             req.Headers.Add("Accept-Charset", "1251")
  7.             req.Headers.Add("Accept-Encoding", "deflate")
  8.             res = req.GetResponse
  9.             req.GetResponse.Close()
  10.             If Not String.IsNullOrEmpty(res.Headers("Set-Cookie")) Then
  11.                 sCookies = res2.Headers("Set-Cookie")
  12.             End If


Если знаете, как можно загрузить страницу без методов HttpWebRequest и HttpWebResponse?
Например как на PHP fsockopen - гибкость обеспечена!

Ответить

Номер ответа: 11
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #11
Добавлено: 01.02.09 14:23
По умолчанию HttpWebRequest берет настройки прокси из IE. Поэтому у
Вас всё через фиддлер и идет.

ЧТобы HttpWebRequest обращался к серверу напрямую, добавьте такую
строку:

req.Proxy = Nothing

Ответить

Номер ответа: 12
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #12
Добавлено: 01.02.09 15:51
Спасибо огромное!!! Все работает!
---------------------------------
Все гениальное - просто!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам