Получение доступа к доменам через определенный порт [closed]

Я разрабатываю продукт, и в определенный момент мне нужно получить доменные имена, используемые для доступа к какой-либо службе через определенный порт. Предположим, у меня есть компьютерная сеть с доступом в Интернет через шлюз Linux. В качестве примера меня интересует порт 6208 (это может быть любой порт).

Когда кто-то в этой сети подключается к [доменное имя]: 6208 Я хочу, чтобы приложение, которое я разработаю, получило бы [доменное имя] на шлюзе.

При подключении к eg.example.com:6208 приложение должно получить eg.example.com .

Что я могу сделать на шлюзе, чтобы добиться такого поведения? Есть ли способ сделать это с помощью существующих инструментов? Я прошу не о том, как разработать указанное приложение, а о том, как / где я могу получить эти данные (доменное имя). Учитывая, что на шлюзе работает дистрибутив Linux, у него должен быть какой-то способ это сделать.

Итак, есть нам подсказка?

-1
задан 3 August 2014 в 05:42
2 ответа

На основании ваших ответов на @user2629636 - т.е. прослушивание трафика не обнаружено, вероятный ответ - "вы не можете". TCP не знает доменного имени, связанного с IP-адресом.

В зависимости от того, что вы пытаетесь сделать, вы можете назначить уникальный IP-адрес (возможно, адрес RFC1918) каждому доменному имени, а затем использовать IP-таблицы для запуска скрипта. В действительности, IPTables не может сделать это самостоятельно, поэтому это вопрос записи лога, а затем использования что-то вроде "Fail2Ban" для действия на запись лога в качестве триггера. Messy.

Или посмотрите на использование Knockd для запуска скрипта, когда вы подключаетесь к порту. Это означает, что каждому IP-адресу нужен отдельный порт для работы - вероятно, на самом маршрутизаторе, так что, вероятно, это также тупик.

.
1
ответ дан 5 December 2019 в 19:56

Скорее всего, вы захотите использовать либо tcpdump, либо wireshark на вашем шлюзе. С wireshark вы получите более подробную информацию.

Если трафик на самом деле http тип трафика, вам может понадобиться что-то подобное:

tshark -d tcp.port==6208,http

После того, как вы получите какое-либо поле из пакета, вы должны быть в состоянии обвязать его в mysql-оператор вставки и т.д.

0
ответ дан 5 December 2019 в 19:56

Теги

Похожие вопросы