
nmap -p- localhost
알 수 없는 열린 TCP 포트를 얻었습니다. 이는 재부팅할 때마다 다릅니다 . 어떤 프로세스가 그것을 열고 수신하는지 어떻게 확인할 수 있습니까? 일반적인 도구( netstat
, ss
, lsof
)를 많이 사용해 보았으나 범인을 찾을 수 없습니다. 예. sudo netstat -pan -Ainet | grep <PORT>
PID/프로그램 이름을 제공하지 않습니다.
tcp 0 0 0.0.0.0:<PORT> 0.0.0.0:* LISTEN -
어쩌면 시동 순서를 분석해야 할까요? 하지만 어떻게 그럴까요?
누구든지 도와줄 수 있나요?
답변1
처럼암시하다, ss
답변도 제공할 수 있습니다. 구문은 다음과 같습니다
sudo ss --tcp --listening --processes 'sport = 1234'
1234
nmap 스캔의 오늘의 포트는 어디에 있습니까? 이는 출력을 TCP 포트로 제한하고 해당 포트에서 수신 대기 중인 프로세스 이름과 PID를 표시합니다. 프로세스 이름과 PID를 제공하는 플래그를 sudo
원하는 경우에만 필요합니다 .--process
답변2
Netstat는 올바른 플래그를 사용하여 루트로 실행될 때 사용자가 요청한 작업을 정확하게 수행합니다.
sudo netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1931/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 32296/cupsd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1550/postgres
tcp6 0 0 :::80 :::* LISTEN 3198/docker-proxy
또한 ss
대체 netstat
이며 대부분 동일한 플래그를 사용하지만 출력 형식이 다릅니다.
답변3
커널 및 일부 특정 서비스(NFS, OCFS, SSH 터널)에 의해 열린 일부 포트는 netstat 또는 ss로 표시되지 않습니다.