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