Linux 서버에서 포트가 열려 있는지 또는 닫혀 있는지 확인하십시오. 서버에서 수신 대기

포트가 Linux 서버에서 수신 대기 중인지 어떻게 확인할 수 있습니까?



답변

로 프로세스가 TCP 또는 UDP 포트에서 수신되는지 확인할 수 있습니다 netstat -tuplen.

일부 포트는 같은 포트 스캐너를 사용할 수 있습니다 (이것은 당신이 원하는 아마도) 외부에서 액세스 할 수 있는지 여부를 확인하려면 Nmap은을 에서 다른 시스템. 확인하려는 동일한 호스트에서 Nmap을 실행하는 것은 목적에 아주 쓸모가 없습니다.


답변

TCP 포트가 열려 있는지 (있는 하드웨어 방화벽 포함) 테스트하는 가장 빠른 방법은 원격 컴퓨터 (예 : 데스크탑)에서 입력하는 것입니다.

telnet myserver.com 80

해당 서버의 포트 80에 대한 연결을 열려고 시도합니다. 시간이 초과되거나 거부되면 포트가 열려 있지 않은 것입니다. 🙂


답변

요약하면, 로그인 할 수있는 서버가 있습니다. 어떤 포트에서 무언가를 듣고 있는지 확인하고 싶습니다. 루트 권한으로 다음을 실행하십시오.

netstat -nlp

TCP 및 UDP 포트에서 수신 대기중인 프로세스 목록이 표시됩니다. 관심있는 프로세스 및 / 또는 예상되는 포트 번호에 대해 스캔 (또는 grep) 할 수 있습니다.

예상되는 프로세스가 없으면 해당 프로세스를 시작하고 netstat를 다시 확인해야합니다. 프로세스가 있지만 예상하지 못한 인터페이스와 포트에서 수신 대기하는 경우 구성 문제가 있습니다 (예 : 수신 대기 중일 수 있지만 루프백 인터페이스에서만 발생하므로 127.0.0.1:3306 및 MySQL의 기본 구성 인 경우 포트 3306의 다른 행은 없습니다.

프로세스가 작동 중이고 원하는 포트에서 수신 대기중인 경우, 사무실 / 가정의 Macbook에서 해당 포트로 “텔넷”을 실행 해보십시오.

 telnet xxxxxxxxxxxx.co.uk 443

SSL에 대해 웹 서버가 구성되어 있는지 (표준 포트로 가정) 테스트합니다. 텔넷을 사용한이 테스트는 프로세스가 TCP 포트에서 수신 대기중인 경우에만 작동합니다. UDP 포트 인 경우 연결하는 데 사용하려는 클라이언트를 사용해보십시오. (포트 224를 사용했음을 알 수 있습니다. 이것은 masqdialer이며 이것이 무엇인지 전혀 모릅니다.)

서비스가 있지만 외부에 접근 할 수 없으면 방화벽이 차단되어있는 것입니다. 이 경우 다음을 실행하십시오.

 iptables -L -n

시스템에 정의 된 모든 방화벽 규칙이 표시됩니다. 이를 게시 할 수 있지만 일반적으로 INPUT 체인의 모든 것을 허용하지 않는 경우 문제의 포트에서 트래픽을 명시 적으로 허용해야합니다.

 iptables -I INPUT -p tcp --dport 224 -j ACCEPT

또는 그 라인을 따라 뭔가. 낯선 사람이 인터넷에서 말한 내용에 따라 맹목적으로 방화벽 명령을 실행하지 마십시오. 하고있는 것을 고려하십시오.

상자의 방화벽이 원하는 트래픽을 허용하는 경우 호스팅 회사에서 방화벽을 실행 중일 수 있습니다 (예 : SSH (22 / tcp), HTTP (80 / tcp) 및 HTTPS (443 / tcp) 만 허용 함) 다른 모든 수신 트래픽 거부). 이 경우 cPanel에 허용 할 수있는 무언가가 있다고 생각하지만이 문제를 해결하려면 헬프 데스크 티켓을 열어야합니다.


답변

나는 netstatand 의 콤보를 사용합니다 lsof:

netstat -an | grep <portnumber>
lsof -i:<portnumber>

포트가 사용 중인지 및 사용 중인지 확인합니다.


답변

시스템에 연결되어 있고 루트로 명령을 실행할 수 있다면 iptables의 출력을 확인할 수 있습니다

iptables -L -vn

방화벽 규칙 및 열려있는 대상 포트 ACCEPT와 명시 적으로 닫힌 포트 대상 이 나열됩니다 REJECT.