Linux

네트워크 상태 확인 명령어

Naan 2010. 11. 18. 17:36
반응형
4.1네트워크 상태

4.1.1 ping (네트웍 확인하기)

형식
ping [-옵션] 호스트
명령어 위치
/usr/bin/ping

옵션
-c count : 지정한 수만큼만 패킷을 보낸다.
-d : 소켓을 디버그한다.
-i wait : 패킷을 대기한다.
-n : 출력수만 알린다.
-q : 출력을 무시한다.
-R : 많은 호스트를 무시하거나 옵션을 생략한다.
-s packetsize : 보내는 데이터의 바이트 수를 정한다.
-v : 출력을 자세히 설명한다.

설명
ping은 네트웍 상태를 점검하기 위해서 제일 먼저 사용하는 프로그램이다. ifconfig와 route가 추가됐다면 첫 번째로 확인하는 것이 ping이다.


4.1.2 netstat (현재 네트웍 상황 보기)

형식
netstat [-옵션] [--옵션]

명령어 위치
/bin/netstat

옵션
-r, --route : -r, --route 옵션을 사용하면 route -e가 사용하는 것과 같은 포멧의 커널 라우팅 테이블을 얻을 수 있다. netstat -er은 route라는 출력 포맷을 사용한다.
-i, --interface iface : -i --interfaces 옵션을 사용하면 모든 네트워킹 상황이 출력된다.
-a, --all : 모든 소켓, 그리고 서버 소켓까지 모든 정보를 보여준다.
-l, --listening : 서버 소켓 정보만 보여준다.
-e, --extend : 부가적 정보, 즉 사용자 계정과 접속된 것들을 보여준다.
-p, --programs : 소켓을 사용하는 프로그램의 정보(여기서는 프로세스 id나 프로그램 이름 같은 것 등)를 보여준다.
-v, --verbose : 네트웍 상황을 자세히 설명해 준다.
-g, --groups 그룹에 관한 정보를 보여준다.
-M, --masquerade : 마스커레이딩에 관한 것이다.

설명
현재의 라우팅 테이블이나 네트워크 상황을 보고 싶다면 netstat를 이용한다. 주로-nr옵션을 사용하여 라우팅 테이블을 볼때 사용한다. 이외에도 네트워크 연결 상태 등을 볼수 있다.네트워크 연결과 라이팅 테이블, 인터페이스 통계, 마스커레이드 연결을 나타낸다. netstat는 리눅스 네트워킹 서브 시스템에 대한 정보를 나타낸다.
아무 옵션도 사용하지 않은 경우 열린 소켓을 나열하여 네트워크 연결의 상태를 볼 수 있으며 이것이 기본값이다. 주소 계열(family)을 지정하지 않으면 구성된 모든 주소 계열의 활성 소켓이 출력된다.


4.1.3 traceroute (패킷이 지나간 경로 추적)

형식
traceroute [-g addr] host 

명령어 위치
/usr/sbin/traceroute

설명
네트워크 host에 도달한 packets 의 경로를 알 수 있다. 이 명령의 용도는 매우 유용하다. 가령 내가 접속 하고자하는 호스트까지의 경로를 알아내므로서 불필요한 경로를 거치지는 않는가 등을 알아낼 수 있다.


4.1.4 arp (같은 서브넷의 ip 보여주기)

형식
arp [-옵션]

명령어 위치
/sbin/arp

옵션
-v : 순차적으로 정보를 화면에 출력한다.
-t 타입 : 주어진 타입에 따라 arp 캐시 정보를 찾아낸다. 사용 가능한 타입은 ether(802.3 Ethernet)를 기본으로 하며 arcnet(ARCnet), ax25(AX.25 packet radio), pronet(PROnet), netrom(NET/ROM) 등이 있다.
-a [호스트] : 지정한 호스트에 대한 정보를 보여준다. 호스트를 지정하지 않으면 현재 캐시에 들어 있는 모든 정보를 보여준다.
-d 호스트 : 지정한 호스트의 이더넷 주소를 수동으로 추가한다.
-f 파일 : 지정한 파일로부터 내용을 읽어 캐시에 추가한다.

설명
네트워킹 관련 명령어 이다. 커널의 arp 캐시를 관리한다. arp는 ip주소와 호스트의 이더넷 주소를 대응시켜 주는 역할을 하는 프로토콜이다. arp와 반대의 역할을 하는 것은 rarp로서, 디스크가 없느 워크 스테이션등에서 이더넷 주소만 가지고 있으면서 ip주소를 모를 때 이용된다. 이 arp에 관련된 정보는 /proc/net/arp에 저장된다.arp 테이블은 커널에서 자동적으로 업데이트하며, 관리자가 이를 수동으로 지우거나 추가해 줄 수 있다. 주로 상대편 호스트가 죽거나 네투웍 설정이 바뀌었을 때 arp 항목을 지울 필요성이 생기며, arp 항목을 수동으로 추가해서 proxy arp 등으로 네트웍 설정을 할 수 있다.


4.1.5 rup (호스트 상태 출력하기)

형식
rup [-옵션] [호스트]

명령어 위치
/usr/bin/rup

옵션
-d : 각각의 호스트 시간을 표시한다. 동일한 서브 네트윅 안의 시스템끼리 서로 같은 시간을 유지하고 있는지 점검한다.
-h : 호스트 이름을 기준으로 정렬한다.
-l : 시스템 부하를 기준으로 정렬한다.
-t : uptime을 기준으로 정렬한다.

설명
지정한 호스트의 상태를 간략히 보여준다. 호스트를 지정하지 않으면 같은 네트웍 안의 호스트 상태가 출력된다.


4.1.6 last (지난 로그인 정보 출력하기)

형식
last

명령어 위치
/usr/bin/last

설명
시스템에 누가 언제 로그인 했는지를 알려 준다. 즉 내 시스템에 누가 언제 로그인 했었는가를 볼 수 있기 때문에 매우 유용하다. Remote 머신 이름에 :0 또는 boot를 제외하고 특정 호스트 이름, IP 주소가 적혀 있다면 네트웍으로 내 장비에 접근한(로그인) 호스트를 알 수 있고 내 장비에 로그인하는데 사용한 유저도 알 수 있다.

4.2 네트워크 환경 설정

4.2.1 route (라이팅 테이블 추가/ 삭제하기)

형식
route [-옵션] add [-옵션] 목적지 [옵션]
route [-옵션] del [-옵션] 목적지 [옵션]
route [-옵션]
명령어 위치
/sbin/route

옵션
-A family : 주소를 설명해 준다.
-C : 커널의 라우팅 캐쉬에서 연산한다.
-e : 라우팅 테이블을 보여준다.
-v : 연산자를 선택할 수 있다.
-n : 주소의 수치를 보여준다.
del : 라우터를 삭제한다.
add : 새 라우터를 추가한다.
-net : 대상이 네트웍이다.
-host : 대상이 호스트이다.

설명
패킷이 왔을 경우 Destination IP 주소를 보고 다음 홉(next hop)을 결정한다. 이때 결정을 하는 것은 커널에서 라우팅 테이블을 보고하는데, 이 라우팅 테이블에서 수동으로 항목을 추가/삭제하는 프로그램이 route이다.


4.2.2 hostname (서버 이름 알기)

형식
hostname [-옵션] [호스트 이름]

명령어 위치
/bin/hostname

관련 파일
/etc/hosts

옵션
-d, --domain : 도메인 이름을 출력한다.
-f, -fqdn, --long : FQDN(Fully Qualified Domain Name : 시스템의 호스트 이름만으로 표현되는 이름이 아니라 시스템을 나타내는 완전한 이름)을 출력한다.
-s, --short : 도메인 정보는 빼고 출력한다.
-F 파일, --file 파일 : 지정한 파일을 참고하여 호스트 이름을 출력한다.

설명
hostname은 시스템에 주어진 이름을 출력하고 변경할 수 있다.

.3 네트워킹 관련 명령어

4.3.1 rlogin (바로 접속하기)

형식
rlogin 원격호스트 [-옵션]
명령어 위치
/usr/bin/rlogin

옵션
-8 : 8비트 데이터 입력을 허가한다.
-ec : c를 지정한 탈출 문자로 이용한다.
-d : 디버깅 모드이다.
-k : 커버로스(kerberos) 인증 과정을 거칙 한다.
-l 사용자이름 : 호스트에 지정한 사용자 이름으로 로그인한다. 이 옵션을 따로 지정하지 않으면 현재 이용하고 있는 시스템의 사용자 이름을 그대로 사용한다.
-E : 탈출 문자를 지정하지 않는다.
-K : 모든 커버로스(kerberos) 인증 과정을 생략한다.

설명
telne이나 ssh로 접속을 할 때에는 반드시 사용자 계정과 패스워드를 묻는다. 이것이 일반적인 login 과정이다. 그러나 rlogin(Remote LOGIN)은 사용자 계정과 패스워드를 사용자의 홈 디렉토리에 .rhosts 파일로 만들어 놓고 바로 접속을 하도록 하는 명령어이다.


4.3.2 rsh (원격으로 명령어 실행하기)

형식
rsh 호스트 [-옵션] 명령어

명령어 위치
/usr/bin/rsh

관련 파일
/etc/hosts

옵션
-x : 네트웍 구간을 암호화한다.
-K : 커버로스(Kerberos) 인증 과정을 거친다.
-d : 디버깅 모드로 진입한다.
-l 사용자 이름 : 지정한 사용자 이름으로 로그인한다.
-n : rsh로의 입력은 모두 /dev/null 디렉토리로 중계된다.

설명
원격 호스트 상에서 단지 하나의 명령을 수행하고자 한다면 rsh가 rlogin보다 휠씬 편리할 것이다.


4.3.3 rcp (원격 호스트에 파일 복사하기)

형식
rcp [-옵션] 파일1 파일2
rcp [-옵션] 파일... 디렉토리

명령어 위치
/usr/bin/rcp

옵션
-k : 커버로스(kerberos) 인증을 한다.
-p : 원 파일의 수정 시간(modification time)과 모드(mode)를 그대로 보존한 채로 복사한다.
-r : 디렉토리를 지정할 경우 서브 디렉토리까지 함께 복사한다.

설명
시스템간에 파일을 복사할 때 사용한다.


4.3.4 ftp (파일 전송 프로그램)

형식
ftp [-옵션] [호스트]

명령어 위치
/usr/bin/ftp

옵션
-n : .netrc 파일을 이용한 자동 로그인을 하지 않는다.
-i : 여러 개의 파일을 받아올 때 일일이 묻지 않고 받아오게 한다.
-v : 서버로부터의 모든메시지를 자세하게 출력하도록 한다.
-i : 파일을 전송하는 동안 대화 모드를 사용하지 않는다.
-d : 디버깅을 할 수 있다.
-t : 패킷 트래싱(packet tracing)을 할 수 있다.

설명
다른 시스템에 접속해서 파일을 전송하거나 전송 받는 프로그램이다. ftp에는 사용자의 계정이 필요한 ftp가 있고, 누구든지 들어갈 수 있는 anonymous ftp가 있다. 요즘에는 인터넷을 통해 필요한 프로그램들이 많이 얻는다. 그러나 전송 속도만큼은 ftp를 따라오지 못한다. ftp에서 사용되는 명령어들은 많지 않지만 적은 수로 큰 효과를 낼 수 있다.


4.3.5. telnet (원격접속하기)

형식
telnet [-옵션] [호스트(IP 번호 또는 이름)] [포트 번호]

명령어 위치
/usr/bin/telnet

옵션
-d : debug. 초기값을 TRUE로 지정한다.
-a : 현재 사용자 이름으로 원격 시스템에 로그인하도록 해준다. 따라서, 이 경우 사용자 이름은 입력할 필요가 없으며 원격 시스템에 로그인하기 위해 패스워드만 입력하게 된다.
-n 추적 파일 : 추적 정보를 사용하는 추적 파일 인자로 지정한 파일을 연다.
-l 사용자 이름 : 이 옵션은 접속할 시스템의 주소와 사용자의 계정을 동시에 입력하는 것이다. 따라서, 패스워드만 입력하면 바로 접속이 된다.

설명
리눅스에서는 콘솔이나 터미널, 한텀을 띄우고 다른 호스트로 텔넷 접속을 한다. 시스템 관리자가 항상 시스템 앞에서 작업을 하는 것은 아니기 때문이다. 그리고 윈도우에서 텔넷을 이용하려면, 시작에서 실행으로 가서 telnet 호스트를 입력하면 연결이 된다. 통신 프로그램을 이용해도 된다. 

반응형

'Linux' 카테고리의 다른 글

리눅스 USB 사용금지  (1) 2010.11.18
리눅스 피폿  (0) 2010.11.18
NTP 타임동기화  (0) 2010.11.18
Rup 활성화  (0) 2010.11.18
ssh 접속 제한  (0) 2010.11.18