예전에는 열린 포트를 스캔 했는데 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
포트 상태 메시지는 오류/디버그 메시지인 것 같습니다)
답변1
nc
표준 오류에 출력을 쓰려면 다음이 필요합니다.
nc -zvv localhost 31000-32000 2>&1 | grep succeeded
2>&1
표준 오류를 표준 출력으로 리디렉션 하여 grep
.