우분투에서 열린 포트를 닫는 방법?


31

PC에 열려있는 모든 포트를 나열하는 명령과 포트를 닫는 다른 명령이 필요합니다.

어떤 제안?

일부 응용 프로그램 포트를 닫아야합니다.

답변:


34

netstat 포트 통계를 보는 데 사용할 수 있습니다.

sudo netstat -lnp

모두 나열하려면 리터 istening 포트 N 엄버를P는 로웠 하나 하나에 책임을. 프로세스를 종료하거나 종료하여 포트를 닫습니다. ( kill, pkill...)

프로세스 종료 없이는 불가능합니다! . 명령 행에서 포트 수동 종료를 참조하십시오 . 방화벽 솔루션을 찾는 다른 방법 (네트워크에서 해당 포트를 분리)


포트를 닫아야하지만 응용 프로그램을 종료하지 않고
nux

포트를 외부 포트로 닫을 수 있습니다.
sergzach


12

우분투에서 열린 포트를 닫으려면 아래 명령을 사용할 수 있습니다

sudo kill $(sudo lsof -t -i:3000)

대신 3000포트 번호를 지정할 수 있습니다

lsof 명령은 프로세스에 의해 열린 파일에 대한 정보를 제공합니다

-t :이 플래그는 lsof가 프로세스 식별자 만 있고 헤더가없는 간결한 출력을 생성하도록 지정합니다. 예를 들어 출력이 kill (1)로 파이프 될 수 있습니다. 이 옵션은 -w 옵션을 선택합니다.

-i :이 플래그는 인터넷 주소가 i에 지정된 주소와 일치하는 파일 목록을 선택합니다. 주소를 지정하지 않으면이 옵션은 모든 인터넷 및 x.25 (HP-UX) 네트워크 파일 목록을 선택합니다.


8

iptables를 사용하면 응용 프로그램을 닫지 않고도 네트워크 수준에서 포트를 차단할 수 있습니다. 포트는 여전히 열려있는 것처럼 보이지만 연결할 수 없습니다.

대안 적으로 이것은 응용 프로그램에 따라 다르며 일부는 일부 포트를 비활성화 할 수 있으며 (vevecot 및 pop3 또는 imap port 생각) 일부는 불가능합니다. 일부 응용 프로그램은 로컬 호스트 또는 특정 주소에서만 수신하도록 구성 할 수도 있습니다.


6

개방 포트 뒤의 프로세스 / 바이너리를 식별하기 위해 netstat -nalplsof -i:port도구를 사용할 수 있습니다 .

포트를 닫으려면 프로세스를 종료하거나 상대 서비스를 중지해야합니다. 로컬 박스에 대해서만 서비스를 실행하려면 사용 가능한 모든 (0.0.0.0) IP가 아닌 localhost / 127.0.0.1에서 수신하도록 각 서비스를 구성 할 수 있습니다.


1

ftp 서비스 용 vsftpd와 같은 서비스 실행으로 인해 포트가 열린 경우 서비스와 관련된 실행 파일도 종료되도록 서비스를 중지했다가 비활성화 할 수 있습니다. 데비안 기본 시스템에서는 다음 명령을 실행하여 서비스를 파괴 할 수 있습니다.

service SERVICENAME stop
systemctl disable SERVICENAME

행운을 빕니다


고맙습니다. 나는 서비스 이름을 확인하고 sudo netstat -lnp포트 22를 중지시키기 위해 제안 된 명령을 실행했습니다. :)
Rishabh Agrahari

1

열려있는 모든 포트 목록을 표시하려면

netstat -lnp

열린 포트를 닫으려면

fuser -k port_no/tcp

예:

fuser -k 8080/tcp

둘 다 sudo필요하다면 사용할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.