grep не совпадает с выходом nc

Я использую nc для сканирования открытых портов, но я просматриваю широкий диапазон и отображает слишком много результатов. Попытка grep его для слова «преуспела» не работает по какой-то причине:

 $ nc -zv localhost 31000-32000 | grep succeeded ... nc: connect to localhost port 31957 (tcp) failed: Connection refused nc: connect to localhost port 31958 (tcp) failed: Connection refused nc: connect to localhost port 31959 (tcp) failed: Connection refused Connection to localhost 31960 port [tcp/*] succeeded! nc: connect to localhost port 31961 (tcp) failed: Connection refused nc: connect to localhost port 31962 (tcp) failed: Connection refused nc: connect to localhost port 31963 (tcp) failed: Connection refused nc: connect to localhost port 31964 (tcp) failed: Connection refused ... 

(Я думал о посылке сообщений об ошибках в /dev/null : nc -zv localhost 31000-32000 2>/dev/null . Но в этом случае результатов нет. Кажется, что все сообщения состояния порта nc являются ошибкой / отладочные сообщения)

One Solution collect form web for “grep не совпадает с выходом nc”

nc записывает свой вывод в стандартную ошибку, вам нужно:

 nc -zvv localhost 31000-32000 2>&1 | grep succeeded 

2>&1 перенаправит стандартную ошибку к стандартным выводам, чтобы затем передать ее в grep .

  • Как я могу EOF `cat` через` netcat` без закрытия соединения?
  • Проверьте, работает ли telnet-порт в сценарии оболочки
  • Различные стили перенаправления с netcat и tee дают разные результаты
  • Как выполнить вывод grep netcat
  • Как netcat знает, открыт ли порт UDP?
  • Как создать постоянное клиентское соединение с netcat?
  • Как избежать отправки EOF из запроса на разбор скриптов и отправки ответов на netcat
  • Отдельные данные dd с выхода через netcat для анализа вывода
  • Jumping ssh хосты без netcat
  • netcat в сценарии оболочки, дающий недействительное соединение
  • Магия netcat для прослушивания и отправки результата
  • Linux и Unix - лучшая ОС в мире.