728x90
목차
1. netstat 명령어
- netstat은 network statistics 의 약자로 네트워크 상태와 열려있는 포트에 관해 확인 할 수 있습니다.
- 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 도구입니다.
- netstat 명령어의 옵션들은 아래와 같습니다.
- 상태값 의미
Status | Content |
LISTEN | 연결 요구를 기다리는 상태. 포트가 열려있음 |
ESTABLISHED | 서로 연결되어 있는 상태 |
SVN_SENT | 클라이언트가 서버에 요구(SYN) 패킷을 보내고 연결을 요청한 상태 |
SVN_RECV | 서버가 클라이언트로부터 접속 요구(SYN)을 받아 클라이언트에게 응답(SYN/ACK)하였지만, 아직 클라이언트에게 확인 메시지(ACK)는 받지 못한 상태 |
FIN_WAIT1 | 클라이언트가 서버에게 연결을 끊고자 요청하는 상태 |
FIN_WAIT2 | 서버가 클라이언트로부터 연결 종료 응답을 기다리는 상태 (서버가 클라이언트로부터 최초로 FIN을 받은 후, 클라이언트에게 ACK를 주었을 때) |
TIME_WAIT | 이미 해당 사이트와 연결이 종료되었거나 다음 연결을 위해 기다리는 상태 |
CLOSE_WAIT | 원격의 연결을 요청을 받고 연결이 종료되길 기다리는 상태 |
LAST_ACK | 연결이 종료되었고 승인을 기다리는 상태 |
CLOSED | 완전히 연결이 종료된 상태 |
UNKNOWN | 소켓의 상테를 알 수 없음 |
2. netstat 설치
netstat이 설치되어있지 않다면 설치해줍니다.
yum install net-tools //CentOS
apt install net-tools //Ubuntu
3. 파일 전송하는 서버 명령어
- 백업 할 파일을 전송하는 서버(task-api server)에서 실행한 스크립트(명령어) 입니다.
#!/bin/bash
# 로그 파일들을 압축
# tar -zcvf [압축파일명.gz] [압축하려는 폴더명]
tar -zcvf [컴포넌트명]_logs.gz logs/*
# netcat을 사용하여 Fairy서버로 전송 (Fairy서버의 IP와 포트를 지정)
# Netcat이 연결을 시도하거나 데이터 전송 중 3초 동안 응답이 없으면 연결 종료
nc -w 3 {Fairy서버IP} {Fairy서버 PORT} < [컴포넌트명]_logs.gz
# 임시로 만든 tar.gz 파일 삭제
rm logs.tar.gz
- -w 3 : 타임아웃 옵션입니다. 이 명령어는 Netcat이 연결을 시도하거나 데이터 전송 중에 3초 동안 응답이 없으면 연결을 종료하도록 합니다.
4. 파일 수신하는 서버 명령어
- 파일을 수신하는 서버(fairy server)에서 실행시킨 스크립트(명령어) 입니다.
#!/bin/bash
# netcat을 사용하여 task-api 서버로부터 데이터를 받아 logs 폴더에 저장
# fairy서버 포트를 지정하여 리스닝 모드로 전환. Netcat이 지정된 포트에서 들어오는 연결을 기다림
nc -l -p {Fairy서버_PORT} > /home1/irteam/logs/[컴포넌트명]_logs.gz
# tar 파일 압축 해제
tar -xzf /logs/[컴포넌트명]_logs.gz -C /home1/irteam/logs
# 임시로 받은 tar.gz 파일 삭제
rm /logs/[컴포넌트명]_logs.gz
- -l : 리스닝 모드 옵션입니다. Netcat이 지정된 포트에서 들어오는 연결을 기다리도록 합니다.
- -p [B서버_PORT] : 포트 지정 옵션입니다. Netcat이 리스닝할 포트 번호를 지정합니다. 여기서 B서버_PORT는 B서버에서 사용할 포트 번호를 의미합니다.
2) 파일을 수신하는 스크립트 실행 후 1) 파일 전송 스크립트를 실행시키면 정상적으로 파일이 전송된 것을 확인 할 수 있습니다.
참고자료
https://velog.io/@rbdus96/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%AA%85%EB%A0%B9%EC%96%B4-netstat
728x90
'스터디 > LINUX' 카테고리의 다른 글
[Linux] 자주 쓰는 리눅스 명령어 - 파일 보기 (0) | 2024.06.30 |
---|---|
[Linux] 리눅스 명령어 - 파일 보기 (0) | 2024.04.07 |
[리눅스] 리눅스 명령어 nslookup 사용법 및 예제 (0) | 2022.10.29 |
댓글