ARP요청을 이용한 네트워크 연결 확인 명령

사용법 : arping [옵션] 
-c count : arping의 개수를 지정한다. 
-w timeout : w 옵션 뒤 시간초)을 지정하여 그 시간(초)까지만 arping를 실행한다. 
-I device : 이더넷 장치를 지정한다. 
-s source : 소스(source) IP를 지정한다. 

ping의 변형으로 ICMP 패킷 대신 ARP 요청과 응답으로 사용중인 IP주소로 MAC(Meduim Access Control) 주소를 찾거나, MAC주소가 있을 때 IP주소를 찾을 수도 있다. 또한, ICMP 패킷을 차단한 호스트라도 단지 연결성만을 검사하고 싶을 경우라면, arping은 유효한 수단이 될 수 있다.
다음은 자신의 시스템으로 arping을 3번 보내서 확인하는 예제이다.

# arping -c3 localhost 
ARPING 127.0.0.1 from 218.143.214.112 eth0 
Unicast reply from 127.0.0.1 [00:01:96:72:47:C3] 2.101ms 
Unicast reply from 127.0.0.1 [00:01:96:72:47:C3] 2.025ms 
Unicast reply from 127.0.0.1 [00:01:96:72:47:C3] 2.049ms 
Sent 3 probes (1 broadcast(s)) 
Received 3 response(s) 

시스템에 네트워크 디바이스가 여러 개 장치되어 있어 각 장치별 연결성을 테스트하고 싶다면 "-I" 옵션을 이용하여 장치를 지정하여준다.

# arping -I eth1 -c3 www.nfoz.net 
ARPING 211.255.252.57 from 218.143.214.112 eth0 
Unicast reply from 211.255.252.57 [00:01:96:72:47:C3] 2.231ms 
Unicast reply from 211.255.252.57 [00:01:96:72:47:C3] 2.245ms 
Unicast reply from 211.255.252.57 [00:01:96:72:47:C3] 2.119ms 
Sent 3 probes (1 broadcast(s)) 
Received 3 response(s) 

[관련 명령어]
ping 네트워크 연결성을 분석한다.
2005/06/27 18:03 2005/06/27 18:03
명령어나 스크립트의 실행을 예약한다.

사용법 : at [옵션]시간 [날짜][+증가시간] 
시간 : 명령어나 스크립트를 실행할 시간을 지정한다. 
+증가시간 : 증가 시간만큼 지난 후 실행한다. 

-q queue: queue이름을 지정한다. 큐 이름으로는 a~z, A~Z가 쓰일 수 있다. 
     큐이름을 지정해 주지 않으면 at는 a를 batch는 b를 사용한다. 알파벳 순서로 
     뒤의 이름을 갖는 큐는 더 큰 niceness 값을 갖는다. = 큐는 현재 수행되는 작업 
     에 대한 큐로 예약되어 있다. 대문자 이름의 큐에 추가된 작업의 batch의 작업 
     처럼 처리된다. 
-m : 출력 결과가 없더라도 작업이 완료될 때 사용자에게 메일을 보낸다. 
-f 파일명 : 스크립트 파일 등을 실행해 줄 때 사용한다. 
-l : 예약된 작업 목록을 보여준다. 
-v : 작업이 수행될 시간을 보여준다. 
-d : 예약된 작업을 삭제한다. (linux) 
-r : 예약된 작업을 삭제한다. (Unix) 

at는 등록된 명령어를 원하는 시간에 실행하게 하는 기능을 한다. 즉 시스템의 부하가 적은 시간에 실행시키거나 예약된 시간에 꼭 실행되어야 하는 작업을 자동으로 처리 하고자 할 때 사용한다.

at에 의해 실행할 시간설정
예약 작업 기능이므로 시간에 대한 설정이 중요하다. at의 시간 설정은 날짜와 시간을 정해주는 시간 설정과 현재 시간 혹은 정해진 시간에서 증가시간으로 설정해 주는 방법이 있다.

시간표현 방법
[시간]
hh:mm -hh(시간), mm(분)으로 설정 ex)16:18
am, pm -표시가 없는 경우 Linux나 Unix에서는 하루를 24시간으로 표현한다. am과 pm을 이용하여 12시간 단위로 표현이 가능하다. ex)4:18pm
midnight, noon, teatime, now -midnight(00:00), noon(12:00), teatime (16:00) 같은 서술형 시간으로도 지정이 가능하다, now는 현재시간이며 증가시간 설정에 많이 쓰인다.
[날짜]
yyyy-mm-dd -일반적인 날짜구성으로 표현 ex)2002-4-13
month num -4월13일은 "April 13"로 표현한다. 혹은 약자로 "Apr 13"로 표현할수 있다. ex)April 13
today, tomorrow -오늘 또는 내일로 지정할 수 있다. 각 요일별로도 표현이 가능하다.

test1 파일을 만들어주는 명령어인 tocuh test1이란 명령어를 at에 등록하여 2002년 4월 13일 0시에 실행한다. 2002년 4월 13일 0시는 "00:00 2002-04-13" 또는 "midnight April 13"등으로 시간을 표현해 줄 수 있다.

# at 00:00 2002-04-13 
at>touch test1 
at><ctrl+d> 

예약된 작업 확인

# at -l 
20  2002-04-13 00:00 a root 

at에 예약된 작업정보
작업번호 20 날짜 2002-04-13 시간 00:00 이름 a 사용자 root
.작업번호 : at에 등록 된 작업 번호, 등록된 순서로 매겨지며 at -d, 또는 atrm을 이용해 at작업을 삭제해 줄 때 사용
.날짜/시간 : 등록된 명령이 실행 될 시간
.queue 이름 : "-q"옵션을 이용하여 큐 이름을 지정
.사용자 : at에 작업을 예약한 사용자

증가시간을 이용한 설정
현재시간으로부터 6시간 후에 Control.sh 스크립트가 실행 되도록 예약하고 싶다면 다음과 같이 f 옵션을 사용하여 예약 자업으로 등록한다.
또한 리다이렉션을 이용해도 같은 결과를 얻을 수 있다.

# at now + 6 hours -f Control.sh : 파일을 예약 작업으로 등록 

# at now + 6 hours < Control.sh : 리다이렉션을 이용한 예약작업 등록 

예약된 작업을 확인해 보자.

# at -l :예약된 작업 확인 
20 2002-04-13 00:00 a root 
21 2002-04-12 18:00 a root 

20번 예약된 작업을 삭제하고 싶다면 다음과 같이 삭제할 작업번호를 지정한다.

# at -d 20 
# at -l 
21 2002-04-12 18:00 a root 

20번에 예약된 작업이 취소 된 것을 확인할 수 있다.

at의 사용 권한 설정
at 명령어는 at.allow와 at.deny 두 파일을 이용해 일반 사용자의 at 명령어 사용 권한을 지정해 줄 수 있다.
/etc/at.allow 파일이 있으면 at.allow에 기록된 사용자만 at 명령어를 사용이 가능하며 /etc/at.allow 파일이 없으면 /etc/at.deny에 기록이 안 된 사용자 만 사용이 가능하다. 두 파일 모두 없다면 관리자만 사용할 수 있다.

[관련 명령어]
atq 예약된 작업 목록을 보여준다
atrm 예약된 작업 목록을 삭제한다
batch 시스템 부하가 일정 이하일 때 명령을 실행한다.
cron 정기적으로 예약된 작업을 수행한다.
2005/06/27 18:03 2005/06/27 18:03
at를 사용하여 예약한 작업 목록을 보여준다.

사용법 : atq [옵션] 
[Linux] 
-q queue : 지정된 큐에 예약된 작업만 보여준다. 
-V : 버전을 보여준다. 

[Unix] 
-c : 예약된 작업을 시간별로 정렬해 보여준다. 
-n : queue에 예약된 모든 작업 개수를 보여준다. 

at에 의해 예약된 작업 목록을 보여준다. at -l와 같은 기능을 한다.
이 중에서 특정 큐에 예약된 작업을 보기 위해서는 atq -q라고 입력한다. 아래는 t 큐에 예약된 작업을 보여준다.

# atq -q t 
27     2002-04-16 10:00 t root 

[관련 명령어]
at 작업을 특정 시간에 예약한다.
atrm 예약된 작업 목록을 삭제한다.
2005/06/27 18:01 2005/06/27 18:01