nmap -p를 수행하는 이유nmap -A 스캔에서 다른 결과가 표시됩니까?

nmap -p를 수행하는 이유nmap -A 스캔에서 다른 결과가 표시됩니까?

포트 789에서 수신 대기하도록 작성한 C# 응용 프로그램이 있습니다. 이 응용 프로그램은 Windows XP Professional 컴퓨터에서 실행됩니다. 달리기

netstat -an | find "789"

TCP    0.0.0.0:789            0.0.0.0:0              LISTENING

다른 Linux 시스템(동일한 서브넷)에서 실행하면 nmap -A -vv ip호스트에서 열려 있는 다른 포트(예: mysql, vnc 등)만 보고되고 내 응용 프로그램에서 열린 포트는 보고되지 않습니다.

그러나 실행하면 다음과 같은 nmap -p 789 ip결과를 얻습니다.

PORT     STATE   SERVICE
789/tcp  open  unknown

두 nmap 스캔 사이에 차이점이 있는 이유는 무엇입니까? 전체 스캔을 수행할 때 nmap이 열린 포트를 감지하도록 할 수 있는 방법이 있습니까?

답변1

기본적으로 nmap은 "공통" 포트(프로토콜당 가장 일반적인 1000개의 포트)만 검색합니다. 789는 일반적인 포트가 아니기 때문에 찾을 수 없습니다. 만약 당신이

nmap -A -vv -p- ip

포트 1-65535를 스캔해야 합니다.

기본적으로 어떤 포트가 스캔되는지 알려주는 nmap 문서는 다음과 같습니다. http://nmap.org/book/man-port-specation.html

답변2

이를 수행할 수 있는 유일한 방법은 nmap의 서비스 파일을 수정하는 것인데 이는 권장되지 않습니다. 이 -A옵션은 서비스 검색, OS 검색, 라우팅 추적 등을 포함한 고급 옵션을 실행하며 전체 범위를 검색하지는 않습니다. 65k 포트를 모두 스캔하려면 옵션을 사용하십시오 -p-. 그 외에는 포트를 -p 789. 최선의 선택은 아마도 시간을 절약하기 위해 별칭을 만드는 것입니다 nmap -p 789.

서비스 파일(기본적으로 /usr/local/share/nmap/nmap-services)을 정말로 변경해야 한다면, 읽는 줄을 찾아서 unknown 789/tcp 0.000075프로그램 이름으로 바꾸고, 끝에 번호를 넣으십시오 0.9. 최상위 포트 nmap에는 다음이 포함됩니다. 별칭이 훨씬 더 좋을 것입니다.

답변3

잘 모르겠습니다. "열림"으로 감지하고 있는데, 이것이 바로 당신이 원하는 것입니까? 그래서~이다청취. -A를 사용하여 찾을 수 없는 이유는 확실하지 않습니다.

편집 - 이것은 귀하의 버전에 적용되지 않을 수 있는 이전 문서에서 가져온 것입니다. 실행하여 man nmap사용 중인 버전을 알려주세요.

문서에서 다음을 볼 수 있습니다.

"기본값은 1에서 1024 사이의 모든 포트와 nmap과 함께 제공되는 서비스 파일에 나열된 모든 포트를 검색하는 것입니다."

따라서 서비스 파일에 789가 없더라도 789를 검색해야 합니다("알 수 없음"으로 표시되어 있으므로 그렇지 않을 것이라고 확신합니다).

따라서 나는 모른다. nmap 버전에 대한 man 파일을 확인하십시오. -A를 사용하여 스캔할 포트의 동작이 내가 찾은 문서와 다를 수 있습니까?

가능성은 낮지만 조사해 볼 가치가 있습니다. 차이점은 Linux 시스템의 사용자 ID에 있을 수 있습니다. NMap의 권한이 있는 사용자와 권한이 없는 사용자는 기본 스캔 유형이 다릅니다. 루트가 있는 사용자는 TCP SYN 스캔을 수행할 수 있으며 루트가 없는 사용자는 기본적으로 TCP connect() 를 사용합니다.

답변4

nmap은 -A백그라운드에서 여러 스크립트를 실행하므로 공격적인 명령이며 이것이 더 많은 결과를 제공하는 주된 이유입니다. 이는 버전 감지를 -sV운영 체제 감지 -O(숫자 0이 아닌 대문자 O) 및 기타 검색 스크립트와 결합합니다. 기본적으로 Nmap은 특정 포트 번호가 지정되지 않은 경우 처음 1000개의 가장 일반적인 포트를 검색합니다(이 포트는nmap 서비스편집할 수 있는 파일입니다). 공격적인 명령은 스캔하려는 포트와 함께 제공될 수 있으므로 스캔하려는 포트(TCP 789) 이외의 다른 포트에 대한 결과를 얻지 못합니다.

nmap -p 789 -A TARGET_IP_ADDRESS_OR_IP_RANGE

반면 귀하의 경우 포트 789가 열려 있는지/닫혀 있는지/필터링되었는지 확인하려는 경우

nmap -p 789 TARGET_IP_ADDRESS_OR_IP_RANGE

여러 스크립트를 실행하고 시끄럽기 때문에 -A(네트워크 트래픽 측면에서) IDS에 의해 쉽게 플래그가 지정되고 방화벽이나 IPS에 의해 차단될 가능성이 높으며 이는 올바른 포트 상태를 제공하지 않는 이유 중 하나일 수 있습니다.

관련 정보