NSlookup 및 Linux Dig

NSlookup 및 Linux Dig

Linux에서는 다음을 사용하여 "80"으로 끝나는 DNS 테이블의 모든 항목을 나열할 수 있습니다.

dig axfr my.domain | grep 80

Windows에서 NSlookup을 사용하여 어떻게 이를 수행합니까? NSlookup을 시작하고 입력해 보았습니다.

ls my.domain

그러면 전체 목록이 제공됩니다. 하지만 Linux에서 grep을 사용하는 것처럼 결과 집합을 어떻게 필터링합니까?

나는 시도했다:

C:\Users\user>nslookup -ls my.domain | find "80"
*** Invalid option: ls

하지만 위의 오류가 발생합니다.

답변1

나는 더 우아한 해결책이 powershell을 사용하는 것이라고 믿습니다. Windows 시스템에서 Cygwin을 사용하는 것보다 확실히 낫습니다. 우선 Cygwin이 내장되어 있습니다.

Bash에서는 다음과 같이 작성합니다.

dig axfr my.domain | grep "80"

Powershell의 해당 내용은 다음과 같습니다.

nslookup -ls my.domain | where {$_ -match "80"}

80또는 정규식을 사용하여 다음으로 끝나는 줄만 일치하는지 확인하는 것이 더 좋습니다 .

nslookup -ls my.domain | where {$_ -match "(80)$"}

또한 도메인 영역 이전에 관심이 있는 경우 다음을 찾을 수 있습니다.이 답변유용합니다(그리고 여기에GitHub 프로젝트).

답변2

나는 당신이 찾고있는 것이 find명령이라고 생각합니다.

nslookup -ls my.domain | find "80"

그러나 해당 항목만 반환하거나 반환하지 grep 80않습니다 .find "80"종결안에 80. 둘 다 다음 항목을 반환합니다.포함하다 80. 정말로 다음 항목만 원하는 경우플래그 (줄 끝에 있는 경우 패턴과 일치)를 사용하고 선행 마침표를 포함하는 것이 더 좋습니다(그렇지 않으면 10.21.37.180과 같은 결과를 얻을 수 있음 ) 80.findstr/e

nslookup -ls my.domain | findstr /e ".80"

당신은 또한 사용할 수 있습니다시그윈, 이는"Windows의 Linux 배포판과 유사한 기능을 제공하는 대규모 GNU 및 오픈 소스 도구 모음입니다."

편집하다

nslookup -ls my.domain오류가 발생하면 시도해 볼 수 있습니다 .

 echo ls my.domain | nslookup | find "80"

.80또는 정말로 try 로 끝나는 항목만 원하는 경우

 echo ls my.domain | nslookup | findstr /e ".80"

관련 정보