Таинственный открытый порт 554 TCP на каждой машине в моей сети!

Предположим, мы транспонируем данные с помощью BSD rs :

$ rs -T
a b c d e f g h
1 2 3 4 5 6 7 8
[Ctrl-D][Enter]
a  1
b  2
c  3
d  4
e  5
f  6
g  7
h  8

Теперь у нас есть два длинных столбца, восприимчивые к awk обработка. Мы можем просмотреть данные и собрать пару строк из $ 1 и $ 2 . Когда NR по модулю желаемый размер строки равен нулю, мы выводим накопленные строки.

$ awk '{ hdrs = (hdrs ? hdrs OFS $1 : $1);
         vals = (vals ? vals OFS $2 : $2); }
       !(NR % 3) { print hdrs; print vals;
                   hdrs = vals = "" } 
       END { print hdrs; print vals; }'
a  1
b  2
c  3
d  4
e  5
f  6
g  7
h  8
[Ctrl-D][Enter]
a b c
1 2 3
d e f
4 5 6
g h
7 8

Если требуется другая форма вывода, такая как следующая (индивидуально упакованные заголовки и значения в соответствии с шаблоном), несложно извлечь это из кода Awk:

a b c
d e f
g h
1 2 3
4 5 6
7 8

Хорошо, теперь фактические данные беспорядочные, потому что у него есть заголовки полей, разделенные несколькими пробелами, и они сами содержат пробелы.

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

$ sed -e 's/\([^ ]\) \([^ ]\)/\1~\2/g'
foo bar      xyzzy quux      alpha beta     gamma     delta
[Ctrl-D][Enter]
foo~bar      xyzzy~quux      alpha~beta     gamma     delta

Обратную фильтрацию легко выполнить с помощью

tr '~' ' '
2
13.02.2017, 02:51
3 ответа
Утилита

ss поможет вам узнать, что это за процесс, использующий этот порт

hafw1:~# ss -tapn | grep ":22"
LISTEN     0      128            :::22                      :::*      users:(("sshd",9828,4))
LISTEN     0      128             *:22                       *:*      users:(("sshd",9828,3))
ESTAB      0      0  my_ip:59233        dest:22     users:(("ssh",1625,3))

Где:

  • -t : только TCP
  • -a : Показать порты и сокеты
  • -p : информация о процессах
  • -n : не разрешать имена портов

Теперь просто замените значение grep на : 554 , и вы сможете найти информацию о своем загадочный процесс. Что должно помочь вам в дальнейшем расследовании этого вопроса, так это запустить watch на каждом сервере, на котором вы столкнулись с этой проблемой открытого порта, и снова запустить nmap:

watch -n 1  ss -tapn \| grep ":554"

Если вы не видите открытого порта, это может быть случай, когда некоторые люди сообщают, что этот порт открыт на маршрутизаторах Apple Time Capsule , которые пытаются проксировать этот трафик внутри вашей сети.

1
27.01.2020, 21:51

Я, наверное, далеко отсюда, но я все равно отправлю сообщение.

Поиск порта 554 в списке назначения портов IANA показывает, что и TCP, и UDP 554 используются «протоколом потоковой передачи в реальном времени». Кроме того, он показывает точку контакта, используя адрес электронной почты @ prognet.com.

Доменное имя не загружает веб-сайт, но поиск prognet.com в whois показывает, что оно принадлежит RealNetworks, а его серверы имен являются различными A-записями real.com.

Затем мне пришлось зайти на real.com, чтобы вспомнить, что это было ... RealPlayer!

Я предполагаю, что RealPlayer использует «протокол потоковой передачи в реальном времени». Происходит ли потоковая передача мультимедиа вообще в вашей среде? В противном случае, как я уже сказал, я, вероятно, ошибаюсь, и что-то еще, что просто случайно использует порт 554.

3
27.01.2020, 21:51

Если ваше сетевое соединение проходит через маршрутизатор, я бы проверял, открыт ли порт 554 на маршрутизаторе. Если это так, вероятно, легко просто снять флажок «Протокол потоковой передачи в реальном времени» (или аналогичный) в настройках маршрутизатора.

4
27.01.2020, 21:51

Теги

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