내 컴퓨터가 어떤 포트를 사용하고 있는지 확인하려고 합니다. 다음과 같은 방법이 나열된 기사를 온라인에서 찾았습니다.
$ 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
옵션을 살펴보면 -O
OS 감지가 활성화되어 있는 것을 확인했습니다. 특히 에서 이 옵션을 사용할 수 있는 권한이 있으면 안 되는 이유는 무엇입니까 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를 제거합니다.
더 많은 정보가 필요할 수 있습니다.
- 어떤 운영 체제를 실행하고 있나요? 포함될 수 있는 커널
- 방화벽을 실행하시나요? 아니면 Fail2ban이나 관련 보안 서비스인가요?
- 이전 버전을 설치할 수 있나요? Ubuntu 저장소에서 설치한 Nmap v7.80에는 동일한 문제가 표시되지 않습니다.
- 가상 머신, VPS 또는 호스팅 시스템을 사용하고 있습니까?
- 설치 프로그램이 거의 없이 새로 설치됩니까? 그렇다면 시스템이 조용하고 소음도 많지 않으며 감지할 수 있는 콘텐츠도 많지 않은 것입니다.
- 다른 운영 체제 감지 Nmap 옵션을 사용해 보셨나요? --osscan-limit --osscan-guess --max-os-tries협회
감지된 TCP 포트가 부족하면 운영 체제 감지가 어려울 수 있습니다. 운영 체제 감지는 TCP 요청에 응답하여 작동합니다. 여기에 더 나은 설명이 있습니다https://nmap.org/book/osDetect-methods.html