본문 바로가기
Linux

12. Linux 기본 명령어(네트워크 관련)_2

by Choraengyi 2016. 11. 30.
728x90

2016/11/28 - [Linux] - 11. Linux 기본 명령어(네트워크 관련)_1


이어서 linux 네트워크 관련명령어를 알아보겠습니다.


1. ifconfig


네트워크 인터페이스 정보확인 및 설정하는 명령입니다.


사용법은 예시를 들어서 설명하겠습니다.


* ifconfig interface up/down

해당 인터페이스를 활성화/비활성화 합니다.


* ifconfig interface address netmask address broadcast address

해당 인터페이스를 지정 IP 주소, netmask를 해당 주소로, broadcast를 해당주소로 지정합니다.

굳이 한번에 안쓰고 하나씩 따로 지정해도 무방합니다.


**분홍 글씨로 된 부분은 사용자가 입력하는 부분입니다. 


eth0 Link encap:Ethernet HWaddr 00:0F:20:CF:8B:42    

인터페이스 형식       MAC주소

inet addr:217.149.127.10 Bcast:217.149.127.63 Mask:255.255.255.192

IPv4주소 Broadcast 주소 넷마스크 주소 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

① ② ③ ④ ⑤ ⑥ RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0 TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0

            송/수신 패킷 수 collisions:0 txqueuelen:1000

           충돌패킷 수 전송 버퍼 크기 RX bytes:1761467179 (1679.7 Mb) TX bytes:2870928587 (2737.9 Mb)

            송/수신 패킷 크기 Interrupt:28

**출처 : https://en.wikipedia.org/wiki/Ifconfig

명령어 실행내용만 출처해 왔습니다.


①인터페이스의 활성화

②브로드캐스트를 사용함

③활성화 됨

④멀티캐스트를 사용함

⑤한번에 전송가능한 패킷 크기

라우팅에 참조되는 거리


2. ip


인터페이스, ip주소, 라우팅 등의 정보를 설정하거나 출력하는 명령어입니다.


ip 명령같은 경우 다른명령으로 대체가능 한것이 많고 자주 쓰이지 않아서 예시로 조금 


정리하겠습니다.


# ip link set interface [up/down]

해당 인터페이스 활성화/비활성화


# ip addr [add/del] address dev interface

해당 인터페이스 IP주소 설정/삭제


# ip addr show

IP 주소 출력


# ip route [add/del] default via address

게이트웨이 주소 설정/삭제


# ip route [add/del] address via address dev interface

정적 라우팅 정보 설정/삭제



3. netstat


네트워크 연결상태, 라우팅테이블, 인터페이스 상태 등의 정보를 출력하는 명령어입니다.

사용법
netstat [옵션]

옵션 

의 미 

-a

 모든 소켓정보를 출력 합니다. 

-c 

 계속적으로 정보를 출력합니다. 

-g

 멀티캐스트 그룹 멤버정보를 출력합니다. 

-i

 인터페이스 정보를 출력합니다.

-l 

 리스닝중인(대기중인) 서버 소켓을 출력합니다.

-M 

 masquerad 연결 정보를 출력합니다. 

-n

 호스트, 포트, 사용자명 대신에 숫자로 출력합니다. 

-p

 소켓에 대한 PID/프로그램명을 출력합니다. 

-r 

 라우팅 테이블 정보를 출력합니다. 

-s

 네트워크 프로토콜의 통계 정보를 출력합니다. 

-v

 정보를 자세히 출력합니다. 


위에 보면 masquerad 에 빨간 표시가 되있습니다. 설명에 앞서 잠깐 설명하고 들어가겠습니다.


*IP masquerad

리눅스에서 지원하는 네트워크 기능으로서, 리눅스 호스트에 연결된 내부 호스트들이 리눅스 호스트에 있는 사설IP만으로도 내부 호스트들도 인터넷 서비스를 이용할 수 있도록 하는 기술 입니다.


그림으로 간단히 설명하겠습니다.



내부 호스트들은 리눅스 호스트와 연결되어 있고 직접적으로 인터넷서비스와 연결되있지 않습니다. 리눅스호스트는 사설IP를 할당받아 인터넷서비스를 이용가능한 상태 입니다. 머스커레이드 기술을 사용하여 내부 호스트들은 마치 리눅스 호스트가 이용하는 듯이 해서 인터넷 서비스를 이용할 수 있습니다. 반대로 데이터를 받아올때는 리눅스 호스트에서 데이터를 받아 해당 내부 호스트에게 전달하는 방식으로 작동합니다.


netstat은 출력명령이기 때문에 모든 소켓정보를 출력하는 -a 옵션을 예시로 들겠습니다.



5번째 열에 있는 state 의 종류에 대해 정리하고 넘어 가겠습니다.


종류

의 미 

ESTABLISHED

 서버와 클라이언트가 서로 연결된 상태입니다.

SYN_SENT

 클라이언트가 원격 호스트에 연결을 요청한 상태 입니다.

SYN_RECV 

 서버로부터 클라이언트의 요청에 대한 응답은 하였으나 클라이언트의 메세지는 받지 않은 상태입니다. 

FIN_WAIT1 

 소켓이 닫히고 연결이 종료된 상태입니다. 

FIN_WAIT2 

 연결이 종료되었으나, 소켓이 원격호스트로 부터 종료를 기다리는 상태입니다. 

TIME_WAIT 

 패킷처리는 끝났으나, 소켓이 혹시 모를 느린패킷을 처리하기 위해 대기중인 상태 입니다.

CLOSE

 소켓이 사용되지 않는 상태 입니다. 

CLOSE_WAIT 

 원격 호스트는 종료되었고 소켓을 종료하기 위해 기다리는 상태입니다. 

LAST_ACK

 마지막 ACK 패킷을 기다리는 상태입니다.(원격호스트, 소켓 OFF상태) 

LISTEN 

 소켓이 서버로 들어오는 패킷을 위해 기다리는 상태입니다.

CLOSING 

 보낸 데이터가 분실된 상태입니다.

UNKNOWN 

 소켓상태를 확인할 수 없는 상태입니다.



4. route


라우팅 테이블 정보 출력 및 관리 명령어 입니다.


예시로 들어서 설명하겠습니다.



# route [add/del] -net address netmask address dev interface

네트워크 주소를 설정/삭제 합니다.

# route [add/del] default gw address dev interface

게이트웨이 주소를 설정/삭제 합니다.

# route [add/del] -net address netmask address gw address dev interface

네트워크 주소를 해당 게이트웨이를 통하도록 설정/삭제 합니다.

route로 라우터 테이블을 조회했습니다.


각 필드의 의미를 알아 보겠습니다.

필드

의 미 

Destination

 목적지 주소를 나타냅니다. 만약 192.168.111.111 일때 C클래스 넷마스크 이면 192.168.111.0 으로 표기됩니다. 그리고 default 값은 목적지로 등록안된 모든 네트워크를 나타냅니다.

Gateway 

 게이트웨이 주소를 나타냅니다.  *로 표시되면 목적지와 자신의 인터페이스와 직접 연결되있는 상태이고, 나머지 경우는 주소로 표기됩니다.

Genmask 

 목적지 네트워크 주소를 알아낼 수 있는 넷마스크값 입니다.

Flags 

 목적지와의 연결상태를 나타냅니다.

 1. U : 인터페이스가 사용됨

 2. H : 단독 호스트만 라우터를 거쳐 접근 가능.

 3. G : 라우터가 게이트웨이로 사용됨.

 4. R : 동적 라우팅을 위한 라우터 복원.

 5. D : 리다이렉트 또는 데몬에 의해 운영됨.

 6. M : 리다이렉트 또는 데몬에 의해 수정됨.

 7. C : 캐시 엔트리.

 8. ! : 라우트 거부.

Metric

 목적지와의 거리를 나타냅니다. 직접연결시 0이고, 라우터를 거칠때마다 1이 증가 합니다.(hop count) 

Ref 

 다른 라우터가 목적지로 가기위해 참조한 횟수입니다. 

Use 

 다른 라우터가 목적지로 가기위해 사용한 횟수입니다.

Iface 

 목적지와 연결된 인터페이스 입니다. 


리눅스 네트워크 관련 명령어를 알아보았습니다.


728x90
반응형

댓글