OS/LINUX

16. 네트워크 명령어

by coldplayer83 2026. 6. 22.
728x90
반응형

ifconfig(InterFace CONFIGuration) : 네트워크 인터페이스의 활성/비활성화 및 설정

 

ip : ip 관련 정보 조회 및 설정

ex) ip address show 이더넷이름

 

netstat : (NETwork STATistics) : 네트워크 프로토콜의 통계와 연결상태를 출력

netstat -nltpu

- n : 정의한 이름이나 도메인 이름을 빼고 ip나 port 번호를 숫자로 보여줌
- l : listen 상태의 소켓을 보여줌
- t : tcp
- u : udp
- p : 프로그램 이름 출력

 

TCP state

LISTEN : 서버의 데몬이 떠서 접속 요청을 기다리는 상태

SYN-SENT : 로컬의 클라이언트 어플리케이션이 원격 호스트에 연결을 요청한 상태

SYN_RECEIVED : 서버가 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답을 하였지만 아직 믈라이언트에게 확인 메세지는 받지 않은 상태

ESTABLISHED : 3 way-handshaking이 완료된 후 서로 연결된 상태

FIN-WAIT1, CLOSE-WAIT, FIN-WAIT2 : 서버에서 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받아 종료하는 과정의 상태

CLOSING : 확인 메시지가 전송 도중 분실된 상태(흔치 않음)

TIME-WAIT : 연결은 종료되었지만 분실되었을지 모르는 느린 세그먼트를 위해 당분간 소켓을 열어두고 있는 상태

CLOSED : 완전히 종료

 

ss(Socket Statistics) : 네트워크 소켓의 통계와 연결상태를 출력

netstat과 옵션 동일

ss | cat 으로 하면 보기 편해짐

 

iptables : 패킷 필터링 도구로 패킷의 출입을 제한하는 방화벽 구성이나 NAT(Network Adderess Translation) 구성에 사용

ex) iptables -nL

- n : 정의한 이름이나 도메인 이름을 빼고 ip나 port 번호를 숫자로 보여줌
- L : 리스트

 

ufw(Uncomplicated FireWall) : iptables의 제어를 쉽게 하기 위한 도구

 

ping : ICMP(Internet Control Message Protocol) 프로토콜의 응답 확인 도구

c : ping을 날릴 횟수 지정

ex) ping -c 5 서버명

 

TCPDUMP

주어진 조건식을 만족하는 네트워크 인터페이스를 거치는 패킷들의 헤더들을 출력해주는 프로그램

원하는 조건의 명령어 입력으로 네트워크 패킷 로그를 출력하여 보거나, txt파일로 저장할 수도 있음

보통 윈도우에서 wireshark를 사용, tcpdump를 파일로 저장 후 wireshark로 분석 가능

 

명령어)

# tcpdump -i eth0 => 인터페이스 eth0 을 보여줌
# tcpdump -w tcpdump.log => 결과를 파일로 저장, txt 가 아닌 bin 형식으로 저장됨
# tcpdump -r tcpdump.log => 저장한 파일을 읽음
# tcpdump -i eth0 -c 10 => 카운터 10개만 보여줌
# tcpdump -i eth0 tcp port 80 => tcp 80 포트로 통신하는 패킷 보여줌
# tcpdump -i eth0 src 192.168.0.1 => source ip 가 192.168.0.1인 패킷 보여줌
# tcpdump -i eth0 dst 192.168.0.1 => destination ip 가 192.168.0.1인 패킷 보여줌

- and 옵션으로 여러가지 조건의 조합 가능
# tcpdump -i eth0 src 192.168.0.1 and tcp port 80 => source ip 가 192.168.0.1이면서 tcp port 80 인 패킷 보여줌
# tcpdump -w tcpdump.log -i eth0 dst xxx.xx.xx.xx and udp and port 514 => 목적이 ip가 xxx.xx.xx.xx인 곳으로 514포트를 사용하는 udp 패킷을 tcpdump.log 파일에 저장

# tcpdump -r tcpdump.log => dump 파일을 읽을때 -r 옵션
# tcpdump -i eth0 dst 192.168.0.1 => dest ip 가 192.168.0.1인 패킷 보여줌
# tcpdump host 192.168.0.1 => host 를 지정하면, 이 ip 로 들어오거가 나가는 양방향 패킷 모두 보여줌
# tcpdump src 192.168.0.1 => host 중에서 src 가 192.168.0.1인것 만 지정
# tcpdump dst 192.168.0.1 => host 중에서 dst 가 192.168.0.1인것 만 지정
# tcpdump net 192.168.0.1/24 => CIDR 포맷으로 지정할 수 있다.

# tcpdump tcp => TCP 인것만
# tcpdump udp => UDP 인것만
# tcpdump port 3389 => 포트 양뱡항으로 3389인 것
# tcpdump src port 3389 => src 포트가 3389인 것
# tcpdump dst port 3389 => dst 포트가 3389인 것

- combine : and ( && ) , or ( || ) , not ( ! ) 으로 여러가지를 조합해서 사용 가능
# tcpdump udp and src port 53 => UDP 이고 src 포트가 53 인 것
# tcpdump src x.x.x.x and not dst port 22 => src ip 가 x.x.x.x 이고 dst 포트가 22 가 아닌 것

- grouping : ( )
# tcpdump ‘src x.x.x.x and ( dst port 3389 or 22 )’ => src ip 가 x.x.x.x 이고 ( dst 포트가 3389 또는 22 ) 인 것 => 여기서는 ‘ ‘ 가 반드시 있어야 한다
728x90
반응형

'OS > LINUX' 카테고리의 다른 글

18. curl / telnet / ping / nc  (0) 2026.06.29
17. awk  (0) 2026.06.29
15. 문자열 검색 / 치환  (0) 2026.06.12
14. 권한  (0) 2026.06.11
13. history 명령어 시간 출력하기  (0) 2026.05.15

TOP

Designed by 티스토리