sudo를 사용하는데도 -O 옵션으로 nmap을 실행할 수 없는 이유는 무엇입니까?

sudo를 사용하는데도 -O 옵션으로 nmap을 실행할 수 없는 이유는 무엇입니까?

내 컴퓨터에서 어떤 포트가 사용되고 있는지 확인하려고 합니다. 다음과 같은 한 가지 방법을 나열한 기사를 온라인에서 찾았습니다.

$ sudo nmap -sT -O localhost

나는 이것이 TCP 패킷을 수신하는 모든 포트 목록을 제공할 것이라고 믿었습니다. 그러나 이 명령을 입력하면 다음과 같은 결과가 나타납니다.

Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-02 21:07 EDT
socket troubles in HostOsScan: Permission denied (13)

sudo로 실행 중인 경우 내 컴퓨터에서 무언가를 실행할 수 있는 권한이 어떻게 부족할 수 있습니까?

나는 방금 실행을 시도했습니다.

$ sudo nmap -sT  localhost

그리고 다음을 얻었습니다:

Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-02 21:28 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000094s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

그냥 nmap논쟁 없이 시도했는데 또 허가가 거부되었습니다!?

$ sudo nmap localhost
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-03 11:05 EDT
Couldn't open a raw socket. Error: Permission denied (13)

옵션을 보면 OS 감지가 활성화되어 있는 nmap's --help것으로 보입니다 . -O특히 에서 이 옵션을 사용할 수 있는 권한이 없어야 하는 이유는 무엇입니까 sudo? (참고: 현재 Ubuntu 18.04 및 20.04를 실행 중입니다.)

(참고: 허용된 답변은 포트를 살펴보는 등 내 근본 문제를 해결하지만 주석 섹션의 답변은 내가 왜 문제를 겪었는지 설명합니다 nmap. 분명히 를 설치했기 때문에 snap다음도 실행해야 했습니다.

 $ sudo snap connect nmap:network-control

nmap제대로 작동하기 전에

답변1

스캔할 필요가 없는 컴퓨터에서 사용 중인 포트를 확인하려는 경우입니다. 포트를 직접 나열할 수 있습니다.

netstat -nap
ss -nap

루트가 아닌 경우 -p플래그를 생략하십시오. 라인 LISTEN은 중요한 라인이며 를 사용하여 필터링할 수 있습니다 awk. 예를 들어

netstat -nap | awk 'NR==1 || /LISTEN/'

답변2

먼저 "내 컴퓨터에서 어떤 포트가 사용되고 있는지 확인하려고 합니다." 그런 다음 로컬 OS가 무엇인지 알 필요가 없으므로 -O를 삭제하십시오.

더 많은 정보가 필요할 수 있습니다.

  1. 어떤 OS를 실행하고 있나요? 어쩌면 어떤 커널을 포함할 수도 있습니다.
  2. 방화벽을 실행하고 있습니까? 또는 Fail2ban 또는 관련 보안 서비스?
  3. 이전 버전을 설치할 수 있나요? Ubuntu 저장소에서 Nmap v7.80을 설치해도 동일한 문제가 표시되지 않았습니다.
  4. 가상 머신, VPS 또는 호스팅 시스템에 있습니까?
  5. 설치된 프로그램이 거의 또는 전혀 없이 새로 설치됩니까? 그렇다면 시스템은 조용하고 소음도 많지 않으며 감지할 것도 많지 않습니다.
  6. 다른 OS 감지 Nmap 옵션을 사용해 보셨나요? --osscan-limit --osscan-guess --max-os-tries링크

감지된 TCP 포트가 부족하면 OS 감지가 어려워집니다. TCP 요청에 대한 응답은 OS 감지가 작동하는 방식입니다. 여기에 더 잘 설명되어 있습니다.https://nmap.org/book/osDetect-methods.html

관련 정보