반응형

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

shell script  (0) 2011.07.05
NFS 설정 및 사용법  (0) 2011.07.04
리눅스 디스크 사용량 보기  (0) 2011.06.28
USB MOUNT 방법  (0) 2011.06.28
CPU 점유율 확인  (0) 2010.08.30
반응형
출처: http://mwultong.blogspot.com/2006/11/linux-unix-disk-free.html

리눅스나 유닉스에서는 df 라는 명령으로 현재 디스크의 남은 용량 등의 정보를 얻을 수 있습니다.

메가바이트(MB)/기가바이트(GB) 단위로, 알아보기 쉽게 출력하기 위해서는

df -h


이렇게 -h 옵션을 붙입니다.

그리고
df -h -T
이렇게 -T 옵션을 붙이면 파일 시스템의 종류까지 출력됩니다.


우분투 리눅스에서의 df -h -T 명령 결과:
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda1     ext3    7.6G  435M  6.8G   6% /
varrun       tmpfs     62M   36K   62M   1% /var/run
varlock      tmpfs     62M  4.0K   62M   1% /var/lock
udev         tmpfs     62M   80K   62M   1% /dev
devshm       tmpfs     62M     0   62M   0% /dev/shm


/dev/sda1 이 첫번째 하드 디스크 첫번째 파티션입니다. (스카시SCSI가 아닌 IDE 방식 하드의 경우에는 /dev/hda1)


* 하드디스크 전체 Size(사이즈)는 7.6 기가바이트

* Used(사용한 용량)는 435메가이고

* Avail(사용 가능한 용량)은 6.8기가이고

* 현재 6퍼센트 사용했습니다.


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

NFS 설정 및 사용법  (0) 2011.07.04
리눅스 ftp 명령어  (0) 2011.06.28
USB MOUNT 방법  (0) 2011.06.28
CPU 점유율 확인  (0) 2010.08.30
LINUX debugging  (0) 2010.08.27
반응형

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

리눅스 ftp 명령어  (0) 2011.06.28
리눅스 디스크 사용량 보기  (0) 2011.06.28
CPU 점유율 확인  (0) 2010.08.30
LINUX debugging  (0) 2010.08.27
LINUX PPP  (0) 2009.11.06
반응형
반응형
반응형

http://unix.co.kr/HOWTO/PPP/PPP-HOWTO.html#toc15

15.2 ppp-on 스크립트

이것이 실제로 연결을 시작하는 스크립트 짝 중 앞의 것이다.


#!/bin/sh
#
# PPP 연결을 초기화하는 스크립트다. 이것은 스크립트 쌍의 첫
# 부분이다. 이것은 'ps' 명령으로 볼 수 있으므로 안전한 스크립트 쌍은
# 아니다. 하지만 간단하다.
#
# 이것이 변수이다. 필요하면 고친다.
TELEPHONE=555-1212      # 연결용 전화번호
ACCOUNT=george          # 로긴을 위한 계정 이름('George Burns'같이)
PASSWORD=gracie
# 계정에 대한 비밀 번호(그리고 'Gracie Allen')LOCAL_IP=0.0.0.0
# 알고 있다면 로컬 IP 주소. 동적 = 0.0.0.0REMOTE_IP=0.0.0.0
# 원한다면 상대편 IP 주소. 보통 0.0.0.0NETMASK=255.255.255.0
# 필요한 경우 정확한 netmask
#
# 'ppp-on-dialer'에 쓸 수 있도록 이 정보를 보냄
export TELEPHONE ACCOUNT PASSWORD
#
# 전화를 걸고 로긴하는 스크립트의 위치를 정한다. $PATH 변수가 연결
# 선택사항에서는 먹지 않으므로 파일 이름의 절대 경로를 써야
# 한다. ('루트'계정에서 그렇게 하는 것은 보안구멍이 되므로 요청하지
# 않는다)
#
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
#
# 연결의 초기화
#
exec /usr/sbin/pppd debug /dev/ttySx 38400 \
        $LOCAL_IP:$REMOTE_IP \
        connect $DIALER_SCRIPT

이것이 ppp-on-dialer 스크립트다.:-


#!/bin/sh
#
# 이것이 ppp-on 스크립트의 두번째 부분이다. 이것은 원하는 연결을 위해
# 연결 프로토콜을 보여준다.
#
/usr/sbin/chat -v                                                 \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \
        ogin:--ogin:    $ACCOUNT                        \
        assword:        $PASSWORD

PPP-2.2에서 ppp-off스크립트는 아래와 같다:-For PPP-2.2, the ppp-off script looks like:-


#!/bin/sh
######################################################################
#
# 끊을 장치를 정한다.
#
if [ "$1" = "" ]; then
        DEVICE=ppp0
else
        DEVICE=$1
fi

######################################################################
#
# ppp0 pid 파일이 있고 프로그램이 실행중이면 그것을 중지시킨다.
if [ -r /var/run/$DEVICE.pid ]; then
        kill -INT `cat /var/run/$DEVICE.pid`
#
# kill이 작동하지 않으면 이 pid에 대해 진행 중인 과정이 없는 것이다.
# 아마 잠금 파일이 아직 남아 있음을 뜻할 것이다. 동시에 이 잠금 파일도
# 지워야 할 것이다.
        if [ ! "$?" = "0" ]; then
                rm -f /var/run/$DEVICE.pid
                echo "ERROR: Removed stale pid file"
                exit 1
        fi
#
# 성공. pppd가 필요없는 흔적을 깨끗이 지우도록 한다.
        echo "PPP link to $DEVICE terminated."
        exit 0
fi
#
# ppp 과정이 ppp0에 대해 실행되지 않는다.
echo "ERROR: PPP link is not active on $DEVICE"
exit 1

15.3 제공된 PPP 시작 스크립트의 편집

두 부분으로 새 스크립트를 받았으면 순서대로 편집하자.

ppp-on 스크립트

이 스크립트를 인터넷 서비스 업체가 준 사용자 이름과 비밀번호, 전화번호를 감안해 편집한다.

TELEPHONE=같은 각 행은 '=' 오른쪽의 정보(물론 딸린 설명까지 포함해서)를 포함하는 쉘 변수를 실제로 설정한다. 따라서 이 행을 편집해서 인터넷 서비스 업체와 연결에 대해 정확하게 만들어야 한다.

마찬가지로, /etc/ppp/options파일에 있는 IP 주소를 (필요할 경우) 설정할 때는 아래와 같은 행을 삭제한다.


$LOCAL_IP:$REMOTE_IP \

또한, 쉘 변수 DIALER_SCRIPT가 완전한 위치와 실제로 쓰고자 하는 전화걸기 스크립트 이름을 가리키고 있는지 확인해야 한다. 따라서 이를 옮겼거나 스크립트 이름을 고칠 작정이라면, ppp-on 스크립트에서 이 행을 정확히 편집했는지도 확인해야 한다!

ppp-on-dialer 스크립트

이것이 ppp 연결을 실제로 만드는 스크립트의 뒷 부분이다.

주의: chat 스크립트는 원래 모두 한 줄에 쓰게 되어있으며역슬래쉬는 행이 바뀌었을 때도 한 줄로 인식할 수 있게 해주는 문자이다(사람이 읽을 수 있도록). 따라서 스크립트 자체의 일부는 아니다.

하지만, 어떤 일이 실제로 진행되는지(추측해서) 이해할 수 있도록 세부 사항을 보는 데는 대단히 쓸만하다.

15.4 Chat 스크립트가 뜻하는 것...

chat 스크립트는 "예상_문자열" "전송_문자열" 쌍의 연속이다. 특별히 내 쪽에서 뭔가 보내기 전에 항상 받을 것을 무언가 기다린다는 점에 주의하자.

아무것도 먼저 받지 않고서 뭔가를 보내려고 한다면 예상_문자열에 빈 문자열을 써야만 하고(""로 쓴다). 아무것도 보내지 않고 뭔가를 받으려 할 때도 비슷하다. 또한, 문자열이 몇개의 낱말로 구성되어 있다면(예를 들어 NO CARRIER), 반드시 chat가 하나의 항목으로 받아들이도록 이 문자열을 다 따와야 한다.

예제에서 chat 행은:-


exec /usr/sbin/chat -v

chat를 부른다. -v는 chat보고 모든 입출력을 시스템 log(보통 /var/log/messages파일)에 복사하도록 시킨다. 일단 기분좋게 chat 스크립트가 믿음직하게 동작했으면 이 행을 편집해서 syslog를 어지럽히는 -v를 지운다.


TIMEOUT         3

이는 예상하는 문자열의 입력을 삼초동안 기다리는 것이다. 모뎀이 진짜 느린 거라면 5초나 10초로 늘려줄 필요가 있다.


ABORT           '\nBUSY\r'

BUSY라는 문자열을 받게 되면 동작을 중지한다.


ABORT           '\nNO ANSWER\r'

NO ANSWER 라는 문자열을 받으면 동작을 중지한다.


ABORT           '\nRINGING\r\n\r\nRINGING\r'

RINGING이라는 문자열이 (반복적으로) 수신되면, 동작을 중지한다. 이 경우 누군가 당신에게 전화를 거는 중이기 때문이다.


"              \rAT

모뎀에서 아무것도 기다리지 않고 AT 문자열을 보낸다.


OK-+++\c-OK   ATH0

이건 좀 복잡한데 chat의 오류 복구 능력 중 일부를 쓰기 때문이다.

뭐라는 뜻이냐 하면... OK를 기다렸다가, 받지 못하면 (모뎀이 명령행상태가 아니라서) +++(표준 헤이스 호환 모뎀에서 명령행 상태로 돌아가는 문자열이다)를 보내고 나서 OK를 기다린다. 그런 다음 ATH0(모뎀 끊기 문자열)을 보낸다. 모뎀이 회선 상에서 먹통이 되어 있는 상황에서 스크립트가 처리할 수 있도록 해준다!


TIMEOUT         30

스크립트의 나머지 부분에 대해 30초의 시간 제한을 설정한다. chat 스크립트가 시간 제한 때문에 취소되는 문제를 겪는다면 45초나 그 이상으로 늘리면 된다.


OK              ATDT$TELEPHONE

OK를 기다렸다가 (모뎀이 ATH0 명령에 대답한 것이다) 원하는 전화번호로 전화한다.


CONNECT         ''

CONNECT를 기다리고 (이것은 상대방 모뎀이 대답할 때 내쪽 모뎀이 보낸다) 아무것도 보내지 않는다.


ogin:--ogin:    $ACCOUNT

다시 몇가지 오류 복구용이 여기 있다. login 프롬프트를 기다리고(...ogin:) 시간이 지나도 받지 못하면, 실행키를 보낸 다음 다시 login 프롬프트를 찾기 시작한다. 프롬프트를 받으면 사용자 이름(쉘 변수 $ACCOUNT에 저장되어 있다)을 보낸다.


assword:        $PASSWORD

비밀번호 프롬프트를 기다리고 내 비밀번호를 보낸다 (역시 쉘 변수에 저장되어 있다).

이 chat 스크립트는 적당한 오류 복구 능력을 갖고 있다. chat는 여기에 보인 것보다 더 많은 기능을 갖고 있다. 더 많은 정보를 원한다면 chat man 페이지를 본다.(man 8 chat)

PPP를 서버에서 시작하기

로긴한 다음 서버에서 자동적으로 pppd를 시작하는 경우에 ppp-on-dialer는 잘 작동하지만 몇몇 서버는 서버에서 PPP를 명확히 시작하도록 요구한다.

서버에서 PPP를 시작하기 위해 어떤 명령을 주어야 한다면, ppp-on-dialer 스크립트를 편집해야 한다.

스크립트의 맨 끝에(비밀번호 행의 뒤에) 추가적으로 expect send쌍을 넣어야 한다. 이것은 로긴 프롬프트를 검색할 것이다(본쉘에서 특별한 의미를 갖는 문자-예를 들어 $ 과 [ or ] (각 인용부호의 여닫이 기호)같은것도 주의한다.

chat가 쉘 프롬프트를 찾으면, chat는 인터넷 서비스 업체 쪽 PPP 서버에서 요구하는 ppp 시작 명령을 내야 한다.

내 경우, PPP 서버는 표준 리눅스 배쉬(bash) 프롬프트를 쓴다.


[hartr@kepler hartr]$

그리고 서버에서 PPP를 시작하도록 입력할 것을 요구한다.


ppp

몇가지 오류 복구를 할 수 있도록 하는 것이 좋을 것 같다, 내 경우는 아래와 같이 쓴다.


        hartr--hartr    ppp

이것은 시간 내에 프롬프트를 받지 못하면, 실행키를 보내고 프롬프트를 다시 찾는 것이다.

프롬프트를 받게 되면 ppp행을 보낸다.

주의: 앞 행의 맨 뒤에 \하나를 집어 넣어 chat가 chat 스크립트 전체를 한 행으로 생각하도록 하는 것을 잊어 먹으면 안된다!

운나쁘게, 몇몇 서버는 다양한 변종의 프롬프트를 준다! 미니콤을 써서 수회 로긴해 어떻게 나오는지 알아내고 안정적인 "예상" 문자열을 골라야 한다.

15.5 PAP/CHAP 인증 연결용 chat 스크립트

인터넷 서비스 업체가 PAP/CHAP를 쓸 경우, chat 스크립트는 더 간단하다. chat 스크립트에서 해야할 것은 전화해서, 연결을 기다린 다음 pppd가 로긴을 다루도록 하는 것 뿐이다!


#!/bin/sh
#
# 이것은 ppp-on 스크립트의 두번째 부분이다. 원하는 연결을 위해 연결
# 프로토콜을 보여준다.
#
exec /usr/sbin/chat -v                                  \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \

15.6 pppd 오류 추적과 option_file 파일 선택사항

이미 앞에서 본 것처럼, pppd에서 -d를 선택해서 로긴하면 오류 추적 정보를 받을 수 있다. 이 '오류 추적' 선택사항은 아래 것과 동등하다.

새 스크립트를 가지고 새 연결을 구축하는 것이므로, 현재까지는 오류 추적 선택사항을 그냥 두자. (경고: 디스크 공간이 적을 경우, pppd 로긴을 바꾸는 것이 syslog 파일을 급격하게 키우고 문제가 생길 수도 있다 - 이것을 하면 연결에 실패할 것이고 몇분 정도 뒤에 다시 시도할 수 있다)

기분좋게 모든 것이 제대로 작동한다면, 이 선택사항을 없앨 수 있다.

/etc/ppp/options/etc/ppp/options.ttySx가 아닌 ppp 선택사항 파일을 불러냈다면, pppd의 file 선택사항에 파일 이름을 적어 주어야 한다 - 다음과 같은 식이다.


exec /usr/sbin/pppd debug file options.myserver /dev/ttyS0 38400 \
반응형

'PC > 기타' 카테고리의 다른 글

virtualbox 공유폴더 설정 권한문제  (0) 2019.09.06
반응형

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

리눅스 디스크 사용량 보기  (0) 2011.06.28
USB MOUNT 방법  (0) 2011.06.28
LINUX debugging  (0) 2010.08.27
LINUX PPP  (0) 2009.11.06
리눅스 잘못 삭제로 부팅이 안될 때(grub 삭제하기)  (0) 2009.10.03
반응형

#include <errno.h>

perror( "check" );

printf("Error message: %s\n", strerror(errno) );

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

USB MOUNT 방법  (0) 2011.06.28
CPU 점유율 확인  (0) 2010.08.30
LINUX PPP  (0) 2009.11.06
리눅스 잘못 삭제로 부팅이 안될 때(grub 삭제하기)  (0) 2009.10.03
X윈도우 해상도 설정 잘못으로 화면이 보이지 않을 때  (0) 2009.01.28
반응형
출처 : http://hook.tistory.com/

무선랜의 보안방식에서 취약한 WEP 대신에 등장한 것이 WPA 이고,
이후에 WPA2 라고 AES 암호화를 사용하는 방식이 새로이 만들어 진 것은 불변의 진리이다.

즉, 
WPA 는 TKIP 암호화를 사용하고, Michael 이라는 무결성 검증 알고리즘을 사용하며,
WPA2는 AES 암호화를 사용하여, 무결성까지 보장한다는 것이었다.

그런데, 오래전부터 의문점이 들었지만 확인하지 않은 사항이 있었다.
바로, 무선랜 AP 또는 무선랜 클라이언트에 보면
분명히 WPA-PSK 방식에서도 TKIP 암호화와 AES 암호화를 모두 선택할 수 있다는 것이다.
이건 WPA2-PSK 방식에서도 마찬가지로 TKIP 또는 AES를 선택할 수 있다.

앞에서 기술하였듯이, 분명히 WPA는 TKIP, WPA2는 AES라고 알고 있었는데, 이해할 수 없는 상황이었다.

구글 검색을 통해서, 해답을 얻었다.


누구인지는 정확하게 모르겠지만,
DSLrgm
Premium,MVM
join:2002-08-22
Oak Park, MI

본인이 직접 802.11i 표준에 관여했다고 밝힌 분께서  정확한 내용을 풀어놨다. 
(원문은 맨 뒤로~)

잘 해석해 보면,

WPA와 WPA2는 3가지 보안 구성요소를 가지고 있다.
인증, 키 확립, 데이터 보호(Authentication, Key Establishment, Datagram Protection) 가 그 세가지이다.

그 중에서 일반인들이 신경쓰지 않지만, 키 확립(Key Establishment)부분에서 WPA와 WPA2는 차이가 있다.
WPA2가 좀 더 빠르고, pre-cached PSKs 라는 기능을 지원한다.

데이터 보호(Datagram Protection) 부분에서 WPA와 WPA2는 모두 TKIP와 AES를 선택할 수 있다.
다만, WPA에서 TKIP만 인증받은 방식이고, WiFi 그룹에서 AES는 테스트되지도, 인증을 받지도 않았다.
WPA2는 호환성을 위해서 TKIP를 지원하고 있는데, TKIP를 사용한다면, WPA와 WPA2는 차이가 없다. 즉, 똑같다.
그리고, (WPA2 경우를 말하는 것 같은데, 확실하지 않다. )AES128 With CCM에서 파이프라이닝을 개선하는 몇 가지 문제를 해소했지만, 알고리즘이나 다른 보안 영역에 수정을 가한 것은 아니다.

인증은 WPA나 WPA2나 동일하게 다양한 인증방식을 사용할 수 있다.


결론:
사용자 입장에서 볼 때, WPA나 WPA2나 모두 TKIP와 AES를 사용할 수 있고, 
차이점은 거의 없다.



설맹 원문  ================================================================
said by Test Eng See Profile:

I mean WPA as TKIP only and WPA2 as AES and TKIP by the way
Not quite true. AES-CCM is IN WPA, but not TESTED by WiFi.

So the confusion came from the box saying it had WPA, as in TKIP, but in the actual security menu it had AES mode too.
The confusion comes in confusing the 3 aspects of WPA and WPA2 (aka 802.11i)

Belkin obviously changed something just at the point when i got mine. I expect later versions support WPA and WPA2
WPA and WPA2 have 3 security components:

Authentication
Key Establishment
Datagram protection

Although there is a difference in Key Establishment between WPA and WPA2, you really don't care. In WPA2 we have it working faster and supporting pre-cached PSKs.

In datagram protection the choices are: TKIP with Michael (just called TKIP) and AES-128 in CCM mode (called AES or CCMP). Both are in WPA, but only TKIP is 'certified'. There were no changes in TKIP between WPA and WPA2. With CCM we cleaned up some issues that improves pipelining, but is not a change to the algorithm or the security boundaries.

In authentication, thee first choice is full 802.1X or Preshared keys (technically, the Key Exchange uses 802.1X KEY frames, so you are always engaging some part of 802.1X but this is quibbling).

In 802.1X there is the choice of EAP method and basically it comes down to 3 open methods: TLS, PEAP, or TTLS. Of course, both PEAP and TTLS have imbedded methods, so the is even another tree branch!

Vendors would do a great service to separate Authentication from datagram protection, as by munging it all together they confuse instead of simplify (as each vendor calls everything by different names!)

'통신 > LAN' 카테고리의 다른 글

TCP 제어플래그  (0) 2024.08.07
tftp로 파일 복사  (0) 2019.09.06
TCP 테스트 프로그램  (0) 2018.03.20
socket 통신  (0) 2016.10.28
집에서 사용하는 인터넷 고정 ip 사용하기  (0) 2014.11.05

+ Recent posts