• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Почему программа не работает в Интернете

  • Автор темы Vadik(R)
  • Дата начала
V

Vadik(R)

Вот решил составить программу для чата. Возможно, кто-то поругает за реализацию соединения (посылаем "1" и "2"), но это пока эксперементы. Исходники довольно большие, поэтому смотрите все во вложении.
А теперь пояснение к этому всему. В архиве лежат клиент и сервер. По началу надо запускать сервер. Если неохота вдумываться в весь код, то технология соединения такая: запускается сервер, затем запускается клиент. Клиент посылает серверу "1" с интервалом в 1 секунду. Как только сервер получит "1", он посылает обратно клиенту тоже "1" и с интервалом в 1 секунду, но уже используя другое соединение и порт. Вот. Если клиент получит от сервера "1", то он шлет ему "2"(то есть, клиент понял, что достучался до сервера) и ждет соответственно, пока закончиться очередь из "1" сервера и сервер пошлет ему тоже "2" как символ конца очереди. После этого считаеться, что соединения установилось и делаеться активность кнопки "Отправить". Так же формы меняют заголовки на "Клиент - Подключен" и "Сервер - Подключен". Так вот, это все технология. На локальном (одном) компе все работает прекрасно. В локальной сети(там, где адреса вида 192.168.1.xxx) из 2 компьютеров, тоже все работает прекрасно.
А вот в интернете не пашет. Само собой, нажимаю и кнопку разблокировать из предупреждения брандмауэра, и в компоненты вбиваю внешние IP-адреса - никак. Уже замучался сам и своих друзей тоже замучал своим эксперементом. В чем может быть проблема? Может надо интервал "пинга" сделать более 1 секунды или что-то поменять в свойствах компонентов?
Технологию пинга из "1" и "2" прошу ругать только в том случае, если действительно именно в ней ошибка установления связи. Заранее ОГРОМНЕЙШЕЕ СПАСИБО.
Ах, да, вот и вложение, кстати. :)
Посмотреть вложение ___.rar
 
E

etc

А эта, все нужные порты, ... в фаерволах, .... открыты ?
 
V

Vadik(R)

Ха, даже не знаю, как сказать. По крайней мере, когда брандмауэр спрашивает "разблокировать..." - нажимаю да. Больше никаких уведомлений. Касперский тоже молчит. По началу в программе делал вообще без ServerSocket1.Open; Думаю, чтобы слушать порт, на всякий случай надо его открыть. Для клиентского сокета я не открываю порт, так как думаю, что он откроется автоматически при послании данных. Хотя, может вся загвоздка в нем... Попробую.
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
а доступ в интернет случаем не через нат?!
 
V

Vadik(R)

У меня DSL соединение, модем настроен как БРИДЖ. У друзей обычный 100 Мегабитный кабель, когда нажимают кнопку подключиться, там быстренько проскальзывает "Открытие порта pppoe" или что-то в этом роде. А на общий взгляд в программе все сделано верно? Почему-то мне кажеться, что ошибка в настройках свойств компонентов.
 
G

Guest

Попробуй писать логи , с ними легче разобраться в проблеме .
:(
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
скорее всего друзья и сидят за натом. походу у них домашняя сетка с одним внешним айпи. по идеи они, к серверу установленному у тебя, смогут подключится.
 
V

Vadik(R)

походу у них домашняя сетка с одним внешним айпи.
Разве дом.рушники дают всем один и тот же IP?
П.с. А с форума никто не уделит мне минутку для эксперимента?
Если кто надумает, стучите в асю: 34-98-34-73. Само собой разумееться, я там всегда в онлайне ради такого дела :(
 
V

Vadik(R)

Извините, думал все пользователи из России. Дом.ру - Интернет провайдер, официальный сайт -
 
C

Chronon

Твоя прога будет работать только в случае если и у клинета и сервера белый айпи, а также должен быть правельно настроен фаервал и оборудование(нат у модема в режиме роутер и т.д.).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!