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)

nmap's --help옵션을 살펴보면 -OOS 감지가 활성화되어 있는 것을 확인했습니다. 특히 에서 이 옵션을 사용할 수 있는 권한이 있으면 안 되는 이유는 무엇입니까 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. 어떤 운영 체제를 실행하고 있나요? 포함될 수 있는 커널
  2. 방화벽을 실행하시나요? 아니면 Fail2ban이나 관련 보안 서비스인가요?
  3. 이전 버전을 설치할 수 있나요? Ubuntu 저장소에서 설치한 Nmap v7.80에는 동일한 문제가 표시되지 않습니다.
  4. 가상 머신, VPS 또는 호스팅 시스템을 사용하고 있습니까?
  5. 설치 프로그램이 거의 없이 새로 설치됩니까? 그렇다면 시스템이 조용하고 소음도 많지 않으며 감지할 수 있는 콘텐츠도 많지 않은 것입니다.
  6. 다른 운영 체제 감지 Nmap 옵션을 사용해 보셨나요? --osscan-limit --osscan-guess --max-os-tries협회

감지된 TCP 포트가 부족하면 운영 체제 감지가 어려울 수 있습니다. 운영 체제 감지는 TCP 요청에 응답하여 작동합니다. 여기에 더 나은 설명이 있습니다https://nmap.org/book/osDetect-methods.html

관련 정보