Linux에서 열린 포트를 확인하는 방법: 1. rpm을 사용하여 nmap 도구를 설치하고 "nmap 127.0.0.1" 명령을 실행하여 머신의 열린 포트를 확인합니다. 2. "netstat -anp" 명령을 실행하여 다음을 수행합니다. 열린 포트를 확인하십시오.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
1: nmap 도구는 열린 포트를 감지합니다.
nmap은 네트워크 스캐닝 및 호스트 감지 도구입니다. nmap 설치는 rpm 설치를 위해 아래와 같이 매우 간단합니다.
[root@DB-Server Server]# rpm -ivh nmap-4.11-1.1.x86_64.rpm warning: nmap-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:nmap ########################################### [100%] [root@DB-Server Server]# rpm -ivh nmap-frontend-4.11-1.1.x86_64.rpm warning: nmap-frontend-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:nmap-frontend ########################################### [100%] [root@DB-Server Server]#
nmap 사용에 관해서는 길게, 클로즈업해서 작성하셔도 되지만 여기서는 확장하지 않겠습니다. 아래와 같이 nmap 127.0.0.1은 이 머신의 열려 있는 포트를 확인하고 모든 포트를 검색합니다. 물론 다른 서버 포트도 스캔할 수 있습니다.
[root@DB-Server Server]# nmap 127.0.0.1 Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2016-06-22 15:46 CST Interesting ports on localhost.localdomain (127.0.0.1): Not shown: 1674 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 111/tcp open rpcbind 631/tcp open ipp 1011/tcp open unknown 3306/tcp open mysql Nmap finished: 1 IP address (1 host up) scanned in 0.089 seconds You have new mail in /var/spool/mail/root [root@DB-Server Server]#
2: netstat 도구는 열린 포트를 감지합니다
"netstat -anp
"를 사용하여 열려 있는 포트를 확인할 수 있습니다.
(참고: '-n' 매개변수를 추가하면 애플리케이션이 포트 표시, 즉 nfs->2049, ftp->21과 같은 디지털 형식의 주소로 변환되므로 두 개의 터미널을 사용할 수 있습니다. 열림, 일대일 대응 프로그램에 해당하는 포트 번호)
확장: 포트가 열려 있는지 확인
lsof 도구가 열린 포트를 감지
[root@DB-Server Server]# service mysql start Starting MySQL......[ OK ] [root@DB-Server Server]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME mysqld 7860 mysql 15u IPv6 44714 TCP *:mysql (LISTEN) [root@DB-Server Server]# service mysql stop Shutting down MySQL..[ OK ] [root@DB-Server Server]# lsof -i:3306 [root@DB-Server Server]#
[root@DB-Server Server]# lsof -i TCP| fgrep LISTEN cupsd 3153 root 4u IPv4 9115 TCP localhost.localdomain:ipp (LISTEN) portmap 3761 rpc 4u IPv4 10284 TCP *:sunrpc (LISTEN) rpc.statd 3797 rpcuser 7u IPv4 10489 TCP *:1011 (LISTEN) sshd 4020 root 3u IPv6 12791 TCP *:ssh (LISTEN) sendmail 4042 root 4u IPv4 12876 TCP localhost.localdomain:smtp (LISTEN)
텔넷을 사용하여 포트가 열려 있는지 확인
서버 포트가 Listening 상태인데 방화벽 iptables가 포트를 차단하고 있기 때문에 이 방법으로는 포트가 열려 있는지 감지하는 것이 불가능합니다.
netcat 도구는 포트가 열려 있는지 감지합니다
[root@DB-Server ~]# nc -vv 192.168.42.128 1521 Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded! [root@DB-Server ~]# nc -z 192.168.42.128 1521; echo $? Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded! 0 [root@DB-Server ~]# nc -vv 192.168.42.128 1433 nc: connect to 192.168.42.128 port 1433 (tcp) failed: No route to host
관련 권장 사항: "Linux 비디오 튜토리얼"
위 내용은 Linux에서 열려 있는 포트를 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!