포트가 Linux 서버에서 수신 대기 중인지 어떻게 확인할 수 있습니까?
netstat -an | grep PORTNUMBER | grep -i listen
출력이 비어 있으면 포트가 사용 중이 아닙니다.
포트가 Linux 서버에서 수신 대기 중인지 어떻게 확인할 수 있습니까?
netstat -an | grep PORTNUMBER | grep -i listen
출력이 비어 있으면 포트가 사용 중이 아닙니다.
답변:
로 프로세스가 TCP 또는 UDP 포트에서 수신되는지 확인할 수 있습니다 netstat -tuplen
.
일부 포트는 같은 포트 스캐너를 사용할 수 있습니다 (이것은 당신이 원하는 아마도) 외부에서 액세스 할 수 있는지 여부를 확인하려면 Nmap은을 에서 다른 시스템. 확인하려는 동일한 호스트에서 Nmap을 실행하는 것은 목적에 아주 쓸모가 없습니다.
-t
, -u
, -p
, -l
, -e
,와 -n
. 옵션 파서 덕분에로 표현 될 수 있습니다 -tuplen
. linux.die.net/man/8/netstat
telnet
명령은 일반적으로 TCP 만 지원하므로 확인하려는 서비스가 다른 프로토콜에서 실행되는 경우 운이 좋지 않습니다.
sudo netstat -tuplen
. 이렇게하면 자신뿐만 아니라 다른 사람이 소유 한 프로세스를 얻을 수 있으며, 루트가 아닌 사용자로 표시되지 않은 경우 PID / 프로그램 이름과 같은 추가 세부 사항을 인쇄합니다.
TCP 포트가 열려 있는지 (있는 하드웨어 방화벽 포함) 테스트하는 가장 빠른 방법은 원격 컴퓨터 (예 : 데스크탑)에서 입력하는 것입니다.
telnet myserver.com 80
해당 서버의 포트 80에 대한 연결을 열려고 시도합니다. 시간이 초과되거나 거부되면 포트가 열려 있지 않은 것입니다. :)
if you get a time out or deny, the port is not open
요약하면, 로그인 할 수있는 서버가 있습니다. 어떤 포트에서 무언가를 듣고 있는지 확인하고 싶습니다. 루트 권한으로 다음을 실행하십시오.
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에 허용 할 수있는 무언가가 있다고 생각하지만이 문제를 해결하려면 헬프 데스크 티켓을 열어야합니다.
나는 netstat
and 의 콤보를 사용합니다 lsof
:
netstat -an | grep <portnumber>
lsof -i:<portnumber>
포트가 사용 중인지 및 사용 중인지 확인합니다.