이전 Solaris 10 버전을 진단하고 있는데 포트 검색 중에 해당 서버에 대해 승인된 목록에 없는 열린 포트를 발견했습니다.
다양한 스위치 조합을 시도했지만 netstat
열려 있는 포트의 관련 서비스 이름이나 PID를 제공하기 위한 올바른 출력을 얻을 수 없는 것 같습니다.
이번 릴리스의 netstat 기능 세트는 이후 Solaris 릴리스 및 기타 UNIX 운영 체제에 비해 제한적인 것으로 보입니다. netstat -tulpn
예제가 작동하지 않습니다.
lsof
보안 제한으로 인해 설치할 수도 없었습니다.
어떤 아이디어가 있나요?
답변1
Solaris의 경우 를 pfiles <pid>
사용하여 프로세스에서 열린 네트워크 포트를 확인할 수 있습니다. for 루프를 사용하면 /proc/*
실행 중인 각 프로세스에서 이를 사용하여 pfiles
원하는 포트를 찾을 수 있습니다. 단점은 정보를 얻으려면 Solaris 10을 사용 root
하거나 Solaris 11에서 권한( )을 얻을 수 있어야 한다는 것입니다.pfexec pfiles
Solaris 호스트 에 들어갈 수 있으면 root
다음을 사용할 수 있어야 합니다.
PORT=22; for PID in /proc/*; do pfiles ${PID} |grep "port: ${PORT}" && echo ${PID}; done
이는 /proc/*
지정된 포트를 반복 및 필터링하고, 일치하는 항목이 발견되면 프로세스 ID( /proc/####
)가 다음 줄에 표시됩니다.