"리눅스 서버에서 사용 중인 포트 목록 출력하기"의 두 판 사이의 차이
라이언의 꿀팁백과
(새 문서: 아래와 같이 명령어를 입력하면 깔끔하게 현재 서버에서 사용 중인 TCP 포트 번호 목록과 프로그램명을 볼 수 있다. <code>netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug</code> 프레임없음|143x143픽셀 위 명령어를 하나씩 풀어보자. == netstat -tnlp == �TCP 프로토콜을 사...) |
|||
13번째 줄: | 13번째 줄: | ||
TCP 프로토콜을 사용하는 소켓 목록을 IP 주소, PID 또는 프로그램 이름과 함께 출력한다. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ |
2022년 7월 9일 (토) 15:19 판
아래와 같이 명령어를 입력하면 깔끔하게 현재 서버에서 사용 중인 TCP 포트 번호 목록과 프로그램명을 볼 수 있다.
netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug
위 명령어를 하나씩 풀어보자.
1 netstat -tnlp
TCP 프로토콜을 사용하는 소켓 목록을 IP 주소, PID 또는 프로그램 이름과 함께 출력한다.
옵션 | 간략한 설명 | 상세한 설명 |
---|---|---|
-t | TCP | TCP 만 출력 |
-n | don't resolve name | 숫자로 되어있는 주소를 사람이 이해하기 쉬운 도메인 이름으로 변환하지 않음 (즉, PTR 또는 리버스 도메인 조회) |
-l | display listening server sockets | 현재 서버에서 열려있는 소켓 목록을 보여주는 옵션 |
-p | display PID/program name for sockets | 포트와 관계 있는 프로그램 이름 및 PID(프로세스 아이디)를 출력 |
상기 명령어를 실행하면 아래와 같은 화면을 볼 수 있다.
2 grep -v 127.0.0.1
127.0.0.1 을 포함하는 행(line)은 검색 결과에서 제외한다.
옵션 | 간략한 설명 | 상세한 설명 |
---|---|---|
-v | select non-matching lines | 옵션 뒤에 나오는 문자열을 포함하지 않는 행만 출력 |
3 sed 's/:::/0 /g'
sed는 stream editor for filtering and transforming text 이다. 위 명령어는 스트림(stream)에 입력한 ::: 이라는 문자열을 0 으로 변경하라는 명령어다.
4 sed 's/[:\/]/ /g'
IP 주소 뒤에 있는 : 및 / 을 공백으로 변경한다.
5 awk '{print $5"\t"$10}'
awk 는 pattern scanning and processing language 다. 문장이 tab 으로 구분되어 있는 경우에 가장 좌측은 1번째, 그 다음 TAB 에 있는 항목은 2번째로 구분할 수 있다. 위 명령어는 결국 5번째 항목인 Address, Program 에 해당하는 내용을 출력한다.
6 sort -ug
sort 명령어는 단어 그대로 정렬을 하는 리눅스 프로그램이다.
옵션 | 간략한 설명 | 상세한 설명 |
---|---|---|
-u | - | 중복된 행을 제거한다. |
-g | compare according to general numeric value | 숫자 오름차순으로 정렬한다 |
7 참고사항
리눅스에서 파이프(|) 는 좌측에 있는 프로세스(프로그램)의 출력을 우측에 있는 프로세스(프로그램)의 입력으로 전달하는 기능을 한다.