2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

리눅스에서 특정 포트를 사용하는 프로세스를 확인하는 방법은?

_____
Q1: 리눅스에서 특정 포트를 사용하는 프로세스를 확인하는 기본 명령어는 무엇인가요?
A1: `lsof -i :포트번호` 명령어를 사용하면 해당 포트를 사용하는 프로세스를 확인할 수 있습니다. 예를 들어, 8080 포트를 사용하는 프로세스 확인은 `lsof -i :8080`입니다.

Q2: `netstat` 명령어로 특정 포트를 사용하는 프로세스를 어떻게 확인하나요?
A2: `netstat -tulpn | grep 포트번호` 명령어를 사용하면 됩니다. 예를 들어, 80포트를 사용하는 프로세스를 확인하려면 `netstat -tulpn | grep :80`을 입력합니다. `-t`는 TCP, `-u`는 UDP, `-l`은 Listening 상태, `-p`는 프로세스 정보, `-n`은 숫자 형식 출력을 의미합니다.

Q3: `ss` 명령어로 특정 포트의 프로세스를 확인하는 방법은?
A3: `ss -tulpn | grep 포트번호` 명령어를 사용합니다. 예: `ss -tulpn | grep :3306`은 3306 포트를 사용하는 프로세스를 보여줍니다.

Q4: 특정 포트의 프로세스 ID(PID)를 확인한 후 프로세스 이름을 알아내려면?
A4: `lsof -i :포트번호`로 PID 확인 후, `ps -p PID -o comm=` 명령어를 사용하면 프로세스 이름을 확인할 수 있습니다.

Q5: 특정 포트를 차지하는 프로세스가 없는지 빠르게 확인하려면?
A5: `fuser 포트번호/tcp` 또는 `fuser 포트번호/udp` 명령어로 확인 가능합니다. 예: `fuser 22/tcp`

Q6: 명령어가 없을 때 어떻게 하나요?
A6: `lsof`, `netstat`, `ss` 명령어가 없다면 `sudo apt-get install lsof net-tools iproute2` (Debian/Ubuntu) 또는 `sudo yum install lsof net-tools iproute` (CentOS/RHEL)로 설치할 수 있습니다.

Q7: 특정 포트를 계속 모니터링하고 싶을 때 방법은?
A7: `watch` 명령어를 사용하여 주기적으로 확인할 수 있습니다. 예: `watch "lsof -i :8080"`

Q8: 루트 권한 없이 포트 사용하는 프로세스를 확인할 수 있나요?
A8: 사용 중인 포트가 현재 사용자 권한으로 실행 중인 프로세스라면 가능하지만, 시스템 프로세스나 다른 사용자의 프로세스는 `sudo` 권한이 필요할 수 있습니다.

Q9: IPv6 포트 사용 프로세스를 확인하는 방법은?
A9: `lsof -i6 :포트번호` 또는 `ss -tulpn | grep 포트번호` 명령어로 IPv6 포트도 확인할 수 있습니다.

Q10: 정리하자면, 가장 일반적인 명령어는?
A10:
- `sudo lsof -i :포트번호`
- `sudo netstat -tulpn | grep :포트번호`
- `sudo ss -tulpn | grep :포트번호`
이 중 하나를 사용하면 되며, 권한 문제로 `sudo`를 붙이는 경우가 많습니다.
리눅스에서 특정 포트를 사용하는 프로세스를 확인하는 방법은 여러 가지가 있습니다.

이 과정은 네트워크 문제를 해결하거나 보안 점검을 수행할 때 매우 유용합니다.

아래에서는 다양한 방법을 통해 특정 포트를 사용하는 프로세스를 확인하는 방법을 자세히 설명하겠습니다.

1. `netstat` 명령어 사용하기 `netstat`는 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 보여주는 유틸리티입니다.

특정 포트를 사용하는 프로세스를 확인하기 위해 다음과 같은 명령어를 사용할 수 있습니다.

```bash netstat -tuln | grep :<포트번호> ``` 예를 들어, 8080 포트를 사용하는 프로세스를 확인하고 싶다면: ```bash netstat -tuln | grep :8080 ``` 이 명령어는 TCP/UDP 포트와 해당 포트를 사용하는 프로세스의 PID를 보여줍니다.

`-t`는 TCP, `-u`는 UDP, `-l`은 리스닝 상태의 소켓, `-n`은 숫자 형식으로 출력하라는 의미입니다.



2. `lsof` 명령어 사용하기 `lsof`는 열린 파일을 나열하는 유틸리티로, 네트워크 소켓도 파일로 취급되기 때문에 특정 포트를 사용하는 프로세스를 찾는 데 유용합니다.

다음과 같은 명령어를 사용할 수 있습니다.

```bash lsof -i :<포트번호> ``` 예를 들어, 8080 포트를 사용하는 프로세스를 확인하려면: ```bash lsof -i :8080 ``` 이 명령어는 해당 포트를 사용하는 프로세스의 PID, 사용자, 프로세스 이름 등을 보여줍니다.



3. `ss` 명령어 사용하기 `ss`는 `netstat`보다 더 빠르고 효율적인 소켓 통계 도구입니다.

다음과 같은 명령어로 특정 포트를 사용하는 프로세스를 확인할 수 있습니다.

```bash ss -tuln | grep :<포트번호> ``` 예를 들어, 8080 포트를 확인하려면: ```bash ss -tuln | grep :8080 ``` 이 명령어는 리스닝 중인 소켓과 해당 소켓의 상태를 보여줍니다.



4. `fuser` 명령어 사용하기 `fuser`는 특정 파일이나 소켓을 사용하는 프로세스를 찾는 데 사용됩니다.

포트를 확인하려면 다음과 같이 사용할 수 있습니다.

```bash fuser <포트번호>/tcp ``` 예를 들어, 8080 포트를 사용하는 프로세스를 확인하려면: ```bash fuser 8080/tcp ``` 이 명령어는 해당 포트를 사용하는 프로세스의 PID를 출력합니다.



5. `pidof`와 `ps` 명령어 조합하기 특정 포트를 사용하는 프로세스의 PID를 찾은 후, `ps` 명령어를 사용하여 해당 프로세스의 상세 정보를 확인할 수 있습니다.

예를 들어, `lsof`나 `netstat`로 PID를 찾은 후: ```bash ps -p -o pid,cmd ``` 이 명령어는 해당 PID의 프로세스 ID와 명령어를 보여줍니다.

결론 리눅스에서 특정 포트를 사용하는 프로세스를 확인하는 방법은 여러 가지가 있으며, 각 방법은 상황에 따라 유용하게 사용될 수 있습니다.

`netstat`, `lsof`, `ss`, `fuser` 등의 명령어를 통해 쉽게 확인할 수 있으며, 이를 통해 네트워크 문제를 해결하거나 보안 점검을 수행하는 데 큰 도움이 됩니다.

각 명령어의 사용법을 숙지하고 필요에 따라 적절한 방법을 선택하여 사용하시기 바랍니다.

작성자: 박은빈 [비회원] | 작성일자: 1년 전 2024-09-30 08:49:46
조회수: 560 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.