netcat SMTP 스캔에서 원격 서버 응답 필터링

netcat SMTP 스캔에서 원격 서버 응답 필터링

나는 이 코드를 사용하여 원격 교환 서버(Exchange1이라고 함)가 온라인인지 테스트하기 위해 netcat을 사용하고 있습니다.

nc -w 3 192.168.130.17 25

Netcat 스캔이 다음 응답을 받는 경우에만 해당 서버 이름으로 파일을 생성하고 싶습니다."220 SMTP 서버 준비", exchange1이 온라인임을 나타냅니다. 응답이 없으면 파일이 오프라인이기 때문에 파일에 이름을 쓰고 싶지 않습니다.

  1. 이건 뭐라고 부르죠? 나는 그것이 명령 결과 필터링이라고 생각하지만 그것이 어떻게 수행되었는지에 대한 기사를 찾기가 어렵습니다.
  2. 내가 배울 수 있도록 누군가 간단한 예를 제공할 수 있습니까?

답변1

grep다른 명령의 출력을 파이핑하여 특정 명령의 출력이 패턴과 일치하는지 확인할 수 있습니다 grep. 블록 grep내에서 사용 합니다 if.

명백히 어리석은 예입니다(전 세계에서는 이를 "금요일"이라고 부릅니다. 그렇죠?).

if date +%A | grep -q 'Friday'; then   # -q tells grep not to echo the matched text
    throw_a_party
else
    echo "Nope, sorry, not time yet."
fi

Bash 매뉴얼의 관련 섹션에는 "파이프라인" 및 "복합 명령"이 포함됩니다.

관련 정보