• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

Организация соединения удалённой системой

  • Автор темы Автор темы AvasKvas
  • Дата начала Дата начала
A

AvasKvas

Добрый день!

Есть такое ТЗ (начало):

1. Программа-сервер (далее сервер) должна принимать входящие подключения по протоколу TCP/IP на TCP-порт 3696 (должна быть возможность задать другой порт при необходимости).
2. Инициатором соединения является удаленное устройство.
3. При подключении устройства происходит установления соединения путем приема запроса на установление TCP-соединения и занесения его в динамический пул соединений...


Вопрос,можно ли это реализовать только на Lotus Domino? То есть следить за портом, устанавливать соединения и и в дальнейшем принимать и отправлять запросы, ну и соответственно инфу в БД клала.


Или тут нужно внешнее приложение использовать?Например на java выполненное. Но тогда как сделать чтоб оно на сервере работало и к БД лотуса коннектилось?

Заранее спасибо!
 
В "Босс Референте" есть БД "Транспорт", она этим и занимается. Там есть агент на java, который слушает порт, вроде как 4000, но это не важно, оно там жёстко в коде было пробито...
В общем, ищите и найдёте.
 
Это хорошо!Вот только где бос референт найти теперь!
 
VladSh,
шутник, блин )) Что ты человека посылаешь на БР? :( Это же ком.решение.

AvasKvas,
а domino http не устраивает? Порт по-умолчанию 80, но можно и другой установить, работа по стандартному протоколу, ничего выдумывать не надо, останется написать правильно запросы и сформировать правильные ответы.
Правда, не знаю умеет ли domino держать более одного http на разных портах. Но, если не принципиально разграничивать или есть возможность поднять отдельный сервер для этой задачи, то это наверняка будет удобнее, чем писать свой клиент-сервер. Ну, если задача не в написании своего клиент-сервера, конечно.

А так к домино можно прикрутить java addin (или addon, или как оно там называется). Поищи, например, вот
Этот аддон будет слушать порт, обрабатывать соединения.
 
Там есть агент на java, который слушает порт, вроде как 4000, но это не важно, оно там жёстко в коде было пробито...
нет, какой порт слушать-это в БР настраивается давно уже :(
Akupaka расписал правильно, т.е. задача реализуема на лотусе, например, с помощью языка Java.
 
домина интегрируется в ОС и без неё она какбэ не существует ;)
у ОС есть файрвол, и в "нормальных" случаях никто не мешает им рулить (делая редайрект портов), в т.ч. пущая скрипты из домины...
в линухах:
кладем ключ (авторизация по ключу) для ssh в опред. каталог нотусни и делаем ssh команду (с рутовыми полномочиями) по изменению редайректа, используя настройки из базы
с портом разобрались ;)
что надо делать с соединением - я так и не понял
по поводу адынов и портов...
надо помнить, что не все порты доступны для bind юзеру (под кот. домина пущается), так чта хотеть слушать порт и иметь возможность - не одно и тоже и без ОС это какбэ не решаемо (в общем случае)
не ну если есть желание похачить секурити сервера - то можно :(
как там в винде принято - запускаем с правами админа и херачим всё подряд, делая дыры и рассадник вирусни
 
Спасибо всем!
Значит задача реализуема!Это хорошо.

Я вижу тут два способа - Java и http. Вот только что лучше?!


Может стоит использовать вообще Xpage?
 
ТЗ настолько странное и абстрактное, что советовать невозможно
 
ТЗ всегда такое.)) Вот полный его вариант:

1. Программа-сервер (далее сервер) должна принимать входящие подключения по протоколу TCP/IP на TCP-порт 3696 (должна быть возможность задать другой порт при необходимости).
2. Инициатором соединения является удаленное устройство.
3. При подключении устройства происходит установления соединения путем приема запроса на установление TCP-соединения и занесения его в динамический пул соединений.
4. Устройство после успешного подключения выдает свой идентификатор в виде @IDxxxxxxx$$$VBATzzzz$$$ где xxxxxxx – идентификатор – семь знаков таблицы ASCII (заранее запрограммированных в устройство), zzzz – 4 знака таблицы ASCII которые являются обозначением переменной типа WORD (MSB-first) и обозначают напряжение батареи устройства, которое вычисляется по формуле 0.6*1023/zzzz(dec).
5. Передача пакетов к устройству имеет формат $BFxxyy&zz&zz…&zz где xx – количество передаваемых байт в формате текстового представления BYTE, yy – количество ожидаемых байт ответа от конечного устройства в формате текстового представления BYTE, &zz – байт данных с разделителем ”&” в формате текстового представления BYTE (например $BF0305&FF&05&A3 – пакет с 3-мя байтами данных FF05A3 и ожидание 5 байт ответа).
6. Ответ от устройства имеет формат $RFxx&zz где xx - количество передаваемых байт в формате текстового представления BYTE, &zz – байт данных с разделителем ”&” в формате текстового представления BYTE
7. Динамический пул соединений должен содержать информацию о подключенном устройстве (идентификатор), напряжение батареи на момент подключения, IP-адрес удаленного устройства, состояние обмена данными (подключение/передача запроса xx (запросов много – хх номер запроса)/ожидание ответа xx/разбор пакета/простой (idle)). Также должна быть возможность отслеживания соединений и ведение журнала соединений.



Там внешнее устройство,которое по протоколу TCP/IP на TCP-порт 3696 конектится с компом. ну и некоторые данные нужно в БД заносить
 
хттп не подойдёт по причине незнания устройством ёваного :(, т.к. обмен происходит двухсторонний
не понятно, также, слово пул - явно архитектор передирал чужой конспект ;)
короче - java
 
не понятно, также, слово пул
Похоже, имелось в виду, что сервер должен обрабатывать несколько одновременных подключений.
хттп и вправду не подойдет. Тут нужен свой сервер. Причем, как я понял, под существующий клиент.
Остается вопрос, а зачем сюда приплетать домино? Для сбора данных? Вполне возможно реализовать данную задачу на чем-то бесплатном.
Или заказчик хочет видеть инфу в своем домино-приложении?
 
Да ппохоже все таки java. Как я понял можно запустить java задачу на сервере. Буду разбираться как!

Может кто направит меня поконкретней!
 
Может кто направит меня поконкретней!
Ну дык, выше написано было про domino java add-in, надо искать инфу по этим кодовым словам
даже ссылка была на какой-то пример, и вообще на том сайте много интересного :(
 
Всем огромное спасибо!Если справлюсь, результаты выложу!
 
шутник, блин )) Что ты человека посылаешь на БР? ;) Это же ком.решение.
И что с того, что коммерческое? Может и патент на идею есть? :(
Я просто указал, что решение возможно и указал пример. Если посмотреть пример кода, то от БоссРеферента от этого не убудет.
 
Так надо было сразу давать контакты ведущего конструктора в Босс-Референте, чтобы можно было официально спросить :(
Ну или дать код самому... что есть несколько неэтично ;)
К стати, я вот и не помню, но КМК код сервера транспорта (аддина) был отдельно от баз БРа.
 
нужно учесть, что адын (по ссылке) не отслеживает свои копии, что нужно организовать отдельный поток на прослушку порта, и считывание символов из него
вот пример реализации типа telnet
это клиентская часть, кот. шлёт "команды" и читает ответ

др. словами - надо уметь работать с мультитредовыми приложениями и обрабатывать соединения

Добавлено: вот пример клиентской и серверной части

там идет обмен объектом...
но делается всё в одной нити, а с адыном надо вынести в отдельную нить
и обмениваться (как я понял) бинарными данными
 
Так надо было сразу давать контакты ведущего конструктора в Босс-Референте, чтобы можно было официально спросить :)
Это имеет какой-то смысл? :)
Если тебе "надо было", так давай, мне не надо было.
P.S. Правильнее сделал lmike, дав ссылки. И безо всяких "контактов ведущего конструктора".
 
Добрый день!

Есть такое ТЗ (начало):

1. Программа-сервер (далее сервер) должна принимать входящие подключения по протоколу TCP/IP на TCP-порт 3696 (должна быть возможность задать другой порт при необходимости).
2. Инициатором соединения является удаленное устройство.
3. При подключении устройства происходит установления соединения путем приема запроса на установление TCP-соединения и занесения его в динамический пул соединений...


Вопрос,можно ли это реализовать только на Lotus Domino? То есть следить за портом, устанавливать соединения и и в дальнейшем принимать и отправлять запросы, ну и соответственно инфу в БД клала.


Или тут нужно внешнее приложение использовать?Например на java выполненное. Но тогда как сделать чтоб оно на сервере работало и к БД лотуса коннектилось?

Заранее спасибо!

В босс референт это реализовано сервлетом, он стартует одновременно с хттп и слушает порт
 
Мы в соцсетях:

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

Курс AD