Вопрос админам и нетворк-инженерам

Вопрос админам и нетворк-инженерам

Ping команда не требует в большинстве случаев открывать порт в firewall. Кроме
того, она позволяет послать 16 байтов payload data, используя -P switch on
command line. Я хочу, чтобы linux box по получению пинга прочитал этот payload
и что-то сделал. Есть примеры такого listener в C/C++? Я сразу не нашел.

CF

Re: Вопрос админам и нетворк-инженерам

On 3/24/2020 9:36 AM, CF wrote:

Ping команда не требует в большинстве случаев открывать порт в firewall.


У ICMP нет портов. У ICMP есть эти, как их, типы, что ли.
Открыть ICMP в firewall - надо.


Кроме
того, она позволяет послать 16 байтов payload data, используя -P switch
on command line. Я хочу, чтобы linux box по получению пинга прочитал
этот payload и что-то сделал.


Не надо такого хотеть.


Есть примеры такого listener в C/C++? Я сразу не нашел.


https://github.com/torvalds/li... 
:-)

Re: Вопрос админам и нетворк-инженерам


Dmitry Krivitsky пишет:

On 3/24/2020 9:36 AM, CF wrote:

Ping команда не требует в большинстве случаев открывать порт в firewall.


У ICMP нет портов. У ICMP есть эти, как их, типы, что ли.
Открыть ICMP в firewall - надо.


Кроме
того, она позволяет послать 16 байтов payload data, используя -P switch
on command line. Я хочу, чтобы linux box по получению пинга прочитал
этот payload и что-то сделал.


Не надо такого хотеть.


А почему, собственно?



Есть примеры такого listener в C/C++? Я сразу не нашел.


https://github.com/torvalds/li... 
:-)


Хорошо еще, что к RFC не отослал.

CF

Re: Вопрос админам и нетворк-инженерам

CF <farcarl@gmail.com> wrote:

Ping команда не требует в большинстве случаев открывать порт в firewall. Кроме
того, она позволяет послать 16 байтов payload data, используя -P switch on
command line. Я хочу, чтобы linux box по получению пинга прочитал этот payload
и что-то сделал. Есть примеры такого listener в C/C++? Я сразу не нашел.

CF



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.

Андрей Левочкин

Re: Вопрос админам и нетворк-инженерам

On 3/24/2020 12:13 PM, CF wrote:

Dmitry Krivitsky пишет:

On 3/24/2020 9:36 AM, CF wrote:

Ping команда не требует в большинстве случаев открывать порт в firewall.


У ICMP нет портов. У ICMP есть эти, как их, типы, что ли.
Открыть ICMP в firewall - надо.


Кроме
того, она позволяет послать 16 байтов payload data, используя -P
switch on command line. Я хочу, чтобы linux box по получению пинга
прочитал этот payload и что-то сделал.


Не надо такого хотеть.


А почему, собственно?


Потому что оно не предназначено для этого.




Есть примеры такого listener в C/C++? Я сразу не нашел.


https://github.com/torvalds/li... 
:-)


Хорошо еще, что к RFC не отослал.

Re: Вопрос админам и нетворк-инженерам


mz1 пишет:

CF <farcarl@gmail.com> wrote:

Ping команда не требует в большинстве случаев открывать порт в firewall. Кроме
того, она позволяет послать 16 байтов payload data, используя -P switch on
command line. Я хочу, чтобы linux box по получению пинга прочитал этот payload
и что-то сделал. Есть примеры такого listener в C/C++? Я сразу не нашел.

CF



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?

CF

Re: Вопрос админам и нетворк-инженерам

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.

Андрей Левочкин


CF


Re: Вопрос админам и нетворк-инженерам

On Tuesday, March 24, 2020 at 1:52:28 PM UTC-4, m...@stlport.org wrote:

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


зачем извращаться и разводить гетто, если во всех высокоуровневых языках есть механизмы для легкого и непринуждённого сетевого взаимодействия?

Re: Вопрос админам и нетворк-инженерам


mz1 пишет:

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


https://www.microsemi.com/blog... 

Что значит никто не гарнтирует? Ты ему пинг, а он тебе ПНХ?

CF

Re: Вопрос админам и нетворк-инженерам


999Vulcan пишет:

On Tuesday, March 24, 2020 at 1:52:28 PM UTC-4, m...@stlport.org wrote:

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


зачем извращаться и разводить гетто, если во всех высокоуровневых языках есть
механизмы для легкого и непринуждённого сетевого взаимодействия?


Задача стоит минимизировать network latency. ICMP в этом смысле самый light weight protocol.

CF

Re: Вопрос админам и нетворк-инженерам



Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?

CF


rsh?
crontab?

Re: Вопрос админам и нетворк-инженерам

On Tuesday, March 24, 2020 at 2:20:02 PM UTC-4, CF wrote:

mz1 пишет:

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


https://www.microsemi.com/blog... 

Что значит никто не гарнтирует? Ты ему пинг, а он тебе ПНХ?


даже не пнх, а просто ничего, по ряду причин

Re: Вопрос админам и нетворк-инженерам

On Tuesday, March 24, 2020 at 2:20:02 PM UTC-4, CF wrote:

999Vulcan пишет:

On Tuesday, March 24, 2020 at 1:52:28 PM UTC-4, m...@stlport.org wrote:

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


зачем извращаться и разводить гетто, если во всех высокоуровневых языках есть
механизмы для легкого и непринуждённого сетевого взаимодействия?


Задача стоит минимизировать network latency. ICMP в этом смысле самый light weight protocol.


отправить UDP пакет можно с такой же latency
если вас не интересует результат :)

Re: Вопрос админам и нетворк-инженерам


999Vulcan пишет:

On Tuesday, March 24, 2020 at 2:20:02 PM UTC-4, CF wrote:

999Vulcan пишет:

On Tuesday, March 24, 2020 at 1:52:28 PM UTC-4, m...@stlport.org wrote:

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


зачем извращаться и разводить гетто, если во всех высокоуровневых языках есть
механизмы для легкого и непринуждённого сетевого взаимодействия?


Задача стоит минимизировать network latency. ICMP в этом смысле самый light weight protocol.


отправить UDP пакет можно с такой же latency
если вас не интересует результат :)


Ну так чем UDP лучше? Ответ на пинг дает тебе roundtrip time автоматически,
а в случае UDP это надо измерять и кодировать. UDP также не гарантирует
ответ.

CF

Re: Вопрос админам и нетворк-инженерам


sergiy.shpak пишет:



Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?

CF


rsh?
crontab?


I need to start up on demand. I also need to shutdown the process on all
participating machines either when the job is done or by an operator
command. Какой, нах, хронджоб?

CF

Re: Вопрос админам и нетворк-инженерам

CF <farcarl@gmail.com> wrote:

Ping команда не требует в большинстве случаев открывать порт в firewall. Кроме
того, она позволяет послать 16 байтов payload data, используя -P switch on
command line. Я хочу, чтобы linux box по получению пинга прочитал этот payload
и что-то сделал. Есть примеры такого listener в C/C++? Я сразу не нашел.

CF



Судя по постановке вопроса, вы этого сделать не сможете. Ну, в смысле, прямо
сейчас. Потребуется изрядный опыт писательства под Юнис на C (без всяких
плюсов). Ну и конечно, нужно знать как вообще демоны устроены.
Понимание daemon, fork(), TCP/UDP/ICMP обязательно.
Без постронией помощи - это вам несколько месяцев работы. И уж конечно тут
вам на пальцах не расскажут.


--
(C) * JES 2020 * Урри Шимановски, известный американский писатель,
естествоиспытатель и некродизайнер.
http://shymanovsky.mooo.com 

Re: Вопрос админам и нетворк-инженерам

On Tuesday, March 24, 2020 at 3:00:02 PM UTC-4, CF wrote:

999Vulcan пишет:

On Tuesday, March 24, 2020 at 2:20:02 PM UTC-4, CF wrote:

999Vulcan пишет:

On Tuesday, March 24, 2020 at 1:52:28 PM UTC-4, m...@stlport.org wrote:

CF <farcarl@gmail.com> wrote:



Гуглим "data transfer over ICMP". Ping tunnel как раз это
и делает. Только не надо этим пользоваться
в реальной жизни.


Но почему не надо? Кривицкий тоже говорит, не надо. А если надо?

Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг.
После того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


зачем извращаться и разводить гетто, если во всех высокоуровневых языках есть
механизмы для легкого и непринуждённого сетевого взаимодействия?


Задача стоит минимизировать network latency. ICMP в этом смысле самый light weight protocol.


отправить UDP пакет можно с такой же latency
если вас не интересует результат :)


Ну так чем UDP лучше? Ответ на пинг дает тебе roundtrip time автоматически,
а в случае UDP это надо измерять и кодировать.


это, конечно, громадная проблема


UDP также не гарантирует ответ.


так я ж и говорю: "если вас не интересует результат :)" :)

Re: Вопрос админам и нетворк-инженерам

On Tuesday, March 24, 2020 at 3:23:00 PM UTC-4, Pan Szymanowski wrote:

CF <farcarl@gmail.com> wrote:

Ping команда не требует в большинстве случаев открывать порт в firewall. Кроме
того, она позволяет послать 16 байтов payload data, используя -P switch on
command line. Я хочу, чтобы linux box по получению пинга прочитал этот payload
и что-то сделал. Есть примеры такого listener в C/C++? Я сразу не нашел.

CF



Судя по постановке вопроса, вы этого сделать не сможете. Ну, в смысле, прямо
сейчас. Потребуется изрядный опыт писательства под Юнис на C (без всяких
плюсов). Ну и конечно, нужно знать как вообще демоны устроены.
Понимание daemon, fork(), TCP/UDP/ICMP обязательно.
Без постронией помощи - это вам несколько месяцев работы. И уж конечно тут
вам на пальцах не расскажут.


ой да ладно
библиотеки современных языков делают это всё как два байта переслать

сын написал собственный сервер на Go за 15 минут, когда ему было надо

Re: Вопрос админам и нетворк-инженерам

On 3/24/2020 1:04 PM, CF wrote:


[skipped]
Что не так?


Абсолютно всё.

Re: Вопрос админам и нетворк-инженерам

CF <farcarl@gmail.com> wrote:


PTP - в смысле NTP? В пределах локальной сети это будет работать,
может быть. А так никто не гарантировал ответа на пинг, даже если
железка живая.


https://www.microsemi.com/blog... 

Что значит никто не гарнтирует? Ты ему пинг, а он тебе ПНХ?

CF


Вот именно. Firewall не пропускает ICMP.

Андрей Левочкин



Re: Вопрос админам и нетворк-инженерам

On 3/24/2020 3:05 PM, CF wrote:

sergiy.shpak пишет:



Мне нужно стартовать программы на нескольких linux machines at the
same time. Я эти машины синхронизировал with PTP. Теперь а посылаю
ping broadcast, и машины, которые online, отвечают на мой пинг. После
того, как все ответят, я знаю их IP addresses и roundtrip time
of my ping. Я могу посчитать maximum roundtrip time, разделить его
поплам, и послать им всем следущим пингом с payload data, который
представлят собой start command and startup time. Который машины
прочитают и одновременно запустят нужную программу. Что не так?


rsh?
crontab?


I need to start up on demand. I also need to shutdown the process on all
participating machines either when the job is done or by an operator
command. Какой, нах, хронджоб?


Ну, начнем с того, что за попытку напрограммировать unauthenticated
command execution нужно этому программисту устроить execution, но не
command execution, а просто execution.