항구 폐쇄에 대한 질문이 있는데 이상한 일이있는 것 같아요.
내가 사용할 때 실행
nmap --top-ports 10 192.168.1.1
23 / TCP 포트가 열려 있음을 나타냅니다.
하지만 내가 실행하면
nmap --top-ports 10 localhost
23 / tcp 포트가 닫 혔음을 보여줍니다.
어느 것이 사실입니까? 전체 시스템에서이 포트를 닫고 싶습니다. 어떻게해야합니까?
Nmap은 훌륭한 포트 스캐너이지만 때로는 더 권위있는 것을 원합니다. netstat
유틸리티 를 사용하여 어떤 프로세스에 어떤 포트가 열려 있는지 커널에 요청할 수 있습니다 .
me @ myhost : ~ $ sudo netstat -tlnp 활성 인터넷 연결 (서버 만 해당) Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID / 프로그램 이름 tcp 00 127.0.0.1:53 0.0.0.0:* LISTEN 1004 / dnsmasq tcp 00 0.0.0.0:22 0.0.0.0:* LISTEN 380 / sshd tcp 00 127.0.0.1:631 0.0.0.0:* LISTEN 822 / cupsd tcp600 ::: 22 ::: * LISTEN 380 / sshd tcp6 00 :: 1 : 631 ::: * 822 / cupsd 듣기
내가 제공 한 옵션은 다음과 같습니다.
-t
TCP 만-l
수신 포트만-n
서비스 및 호스트 이름을 조회하지 말고 숫자 만 표시하십시오.-p
프로세스 정보 표시 (루트 권한 필요)이 경우 sshd
모든 인터페이스 ( 0.0.0.0
) 포트 22에서 cupsd
수신 대기하고 있고 루프백 ( 127.0.0.1
) 포트 631 에서 수신 대기중인 것을 확인할 수 있습니다. 출력 telnetd
에 로컬 주소가있는 것으로 표시 될 수 있습니다 192.168.1.1:23
. 이는 루프백 어댑터의 연결에 응답하지 않음을 의미합니다. (예 : 할 수 없습니다 telnet 127.0.0.1
).
유사한 정보 (예 : lsof
또는 /proc
)를 표시하는 다른 도구가 있지만 netstat가 가장 널리 사용됩니다. Windows ( netstat -anb
) 에서도 작동합니다 . BSD netstat는 약간 다릅니다. 프로세스 정보를 가져 오려면 sockstat (1) 을 사용해야 합니다.
프로세스 ID와 프로그램 이름이 있으면 포트를 닫으려면 프로세스를 찾아서 종료 할 수 있습니다. 보다 세밀한 제어를 위해 방화벽 (Linux의 경우 iptables)을 사용하여 특정 주소로만 액세스를 제한 할 수 있습니다. 서비스 시작을 비활성화해야 할 수 있습니다. Linux에서 PID가 "-"이면 아마도 커널 프로세스 일 것입니다 (예를 들어 NFS에서 일반적입니다). 그래서 그것이 무엇인지 알아내는 데 행운을 빕니다.
참고 : 네트워크 상태와 방화벽에 의해 방해받지 않기 때문에 "권한"이라고 말했습니다. 컴퓨터를 신뢰한다면 좋습니다. 그러나 해킹 당했다고 의심되는 경우 컴퓨터의 도구를 신뢰하지 못할 수 있습니다. 표준 유틸리티 (때로는 시스템 호출)를 특정 프로세스 또는 포트 (루트킷이라고도 함)를 숨기는 것으로 대체하는 것은 공격자들 사이에서 표준 관행입니다. 이 시점에서 가장 좋은 방법은 디스크의 포렌식 복사본을 만들고 백업에서 복원하는 것입니다. 그런 다음 사본을 사용하여 들어가는 방법을 확인하고 닫습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다