출처: http://www.nexpert.net/75 [NExpert]

----------------------------------------------------------------------------------------------------------------------------


NAT는 크게 Cone NAT와 Symmetric NAT로 나뉩니다.
다시 Cone NAT는 Full Cone, Restricted Cone, Port Restricted Cone으로 나뉩니다.

Cone NAT의 경우 내부망의 IP:Port에 대해 Destination에 관계없이 공유기의 외부 IP:Port가 변하지 않는다는 것이고 Symmetric NAT의 경우 Destination에 따라 다른 공유기의 외부 IP:Port를 가진다는 것입니다. 이해가 되시나요?

다시 풀어서 설명드리면,

Cone의 경우 내부망의 192.168.1.100:5060가 공인망의 sip.com:5060으로 트래픽을 보낼 때, 공유기의 1.1.1.1:12345로 매핑이 된다면 192.168.1.100:5060가 another.sip.com:5080으로 트래픽을 보내도 공유기에서는 1.1.1.1:12345로 매핑이 된다는 것입니다.

사용자 삽입 이미지


Symmetric의 경우 내부망의 192.168.1.100:5060가 공인망의 sip.com:5060으로 트래픽을 보낼 때, 공유기의 1.1.1.1:12345로 매핑이 되고 만약 다른 목적지인 another.sip.com:5080으로 트래픽을 보내면 공유기의 1.1.1.1:67890과 같은 다른 IP:Port로 매핑된다는 것입니다.


사용자 삽입 이미지

Cone NAT의 3가지의 경우 access-list를 생각하면 쉽게 이해가 됩니다.
(외부에서 공유기의 NAT Hole을 통해 들어오는 트래픽에 대해서,)
Full Cone의 경우 permit tcp/udp any host 192.168.1.100 eq 5060
Restricted Cone의 경우 permit tcp/udp host sip.com eq any host 192.168.1.100 eq 5060
Port Restricted Cone의 경우 permit tcp/udp host sip.com eq 5060 host 192.168.1.100 eq 5060
등의 체크를 해서 트래픽을 보내준다는 것입니다.
 


마지막으로 다시 정리하면....

Cone NAT의 경우 내부의 IP:Port에 대해 Destination에 관계없이 동일한 외부의 IP:Port로 매핑되고, Symmetric NAT의 경우 Destination에 따라 다른 외부의 IP:Port를 사용합니다.
Full Cone의 경우 들어오는 트래픽의 Source IP와 Port에 대해 검사없이 NAT Table의 Mapping대로 릴레이하고 Restricted는 IP만 체크하면 Port Restricted는 IP와 Port모두 체크 합니다.

그럼 왜 VoIP이나 P2P에서 NAT Traversal에 대해 골머리를 앓고 있는지, STUN은 왜 Symmetric NAT에 대해 지원이 안되는지, 왜 Skype는 UDP Relay Server를 써서 음성을 전달하는지 한번 곰곰히 생각해 보시기 바랍니다.




출처: http://program.egloos.com/802690

[참고할 사이트] http://www.adminschoice.com/docs/crontab.htm

crond 데몬 /etc/rec.d/init.d/crond 스크립트에 의해 시작, 종료,재시작될 수 있다

기본 명령의 위치 :/user/bin/crontab

 =>아무곳에서도 실행 가능 함 등록,수정, 보기



사용형식

crontab [ -u 사용자 id] 파일

crontab [-u 사용자 id] { -l | -r | -e}


crontab -l : 예약된 작업리스트

crontab -e : 예약된 작업 수정

crontab -r : 예약된 작업 삭제



crond 실행 확인

=> ps -ef | grep crond



crond 시작

=> /etc/rc.d/init.d/crond start{restart | stop}


일반사용자에게 crontab 명령어 사용하도록 설정 허가

=> /etc/cron.allow 여기에 ID 등록


일반사용자의 crontab 명령어사용을 제한하고자 한다면

=>/etc/cron.deny  에 ID를 등록

즉,

=> /etc/cron.allow : 허용할 사용자 ID 목록
=> /etc/cron.deny  : 거부할 사용자 ID 목록

cron.allow 파일이 있으면 이 파일에 들어있는 ID만 사용 가능
cron.deny  파일이 있으면 이 파일에 들어있는 ID는 사용 불가

따라서 cron.deny에 truefeel ID를 추가해주면 됩니다.



등록 내용 설정

"분,시,일,월,요일, 실행명령" 순으로 설정



crontab 파일 형식
------    --------  ---------------------------------------------------
필  드    의  미    범  위
------    --------  ---------------------------------------------------
첫번째    분        0-59
두번째    시        0-23
세번째    일        0-31
네번째    월        1-12
다섯번째  요일      0-7 (0 또는 7=일요일, 1=월, 2=화,...)
여섯번째  명령어    실행할 명령을 한줄로 쓴다.
------    --------  ---------------------------------------------------

- 한 줄당 하나의 명령 (두줄로 나눠서 표시할 수 없음)
- # 으로 시작하는 줄은 실행하지 않는다 (주석)

 

 

crontab -e 을 하면 vi 에디터가 나온다.(환경변수 EDITOR에 따라 다른 에디터를 사용할 수 있다.)


  $ crontab -e
  # /home 디렉토리를 /BACKUP/home 으로 백업해둠
  # 30분, 새벽 4시와 낮 12시, 모든 일, 모든 월, 모든 요일 
  30 4,12 * * *  /usr/bin/rsync -avxH --delete /home /BACKUP/home > /dev/null 2>&1

  # 파일/디렉토리 퍼미션 설정
  # 40분, 새벽 1시, 매주 일요일
  40 1    * * 0  /root/bin/perm_set.sh   > /dev/null 2>&1


  # 20분마다 실행

  */20 * * * * /shell/mrtg


위는 매일 4:30분과 12:30분에 rsync 명령을, 매주 일요일 1:40분에 perm_set.sh를 실행함을 의미한다.

vi 에디터를 통해 설정을 하므로 중요한 몇 가지 에디터 사용법은 익혀야 한다.

----  -----------------------------------------------------------------------------
키    의미
----  -----------------------------------------------------------------------------
i     현재 칸에 글을 넣는다.
o     다음줄에 글을 넣는다.
dd    한줄을 삭제한다.
:wq   저장하고 빠져나온다.
ESC   설정중에 명령어 모드(위의 i, o, dd 등을 사용할 수 있는 상태)로 빠져 나온다.
----  -----------------------------------------------------------------------------


설정 예

시간 설정에서 몇가지 의미있는 것들을 알아보자.

- '*'표시는 해당 필드의 모든 시간을 의미한다.
- 3,5,7 와 같이 콤마(,)로 구분하여 여러 시간대를 지정할 수 있다.
- 2-10와 같이 하이픈(-)으로 시간 범위도 지정할 수 있다.
- 2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/)로 시간 간격을 지정할 수 있다.
  (2~10까지 3간격으로. 즉, 3,6,9를 의미함)

=>  > /dev/null  2>&1 이 무슨 뜻입니까?
  지정한 명령어 처리 결과와 발생할지 모르는 에러메시지를 출력하지 않고 모두 버린다는(/dev/null)는
  뜻입니다. 만약 결과와 에러를 파일로 저장하려면 /dev/null 대신 파일명을 적어주면 됩니다.


예)

20  2     *  *  6  명령어 => 매주 토요일 새벽 2:20

0  4-6   *  *  *  명령어 => 매일 오후 4,5,6시

5  */2 *  *  * 명령어 => 매일 2시간간격으로 5분대에

15  1   1  *  *  명령어 => 매월 1일 새벽 1:15

30  0   1  1,7  *  명령어 => 1,7월 1일 새벽 0:30


10 2 * * * /app11/minsang/APP/ldap/run.sh > /app11/minsang/APP/ldap/cron_error.log
55 13 * * * /run.sh > /mail_cron_error.log
0,30 8-19 * * * /sendAdmin.sh > /cron_admin_error.log


쉘스크립트의 첫 라인에 #!/bin/bash 를 기제하는 이유

쉘스크립트 작성시, 가장 첫 라인에 #!/bin/bash 를 기제하는 이유는, 스크립트 파일이 bash 쉘로 실행시킨다는 의미입니다. 같은 원리로 tcsh 쉘로 실행시키려면, 첫라인은 #!/bin/tcsh 로 시작해야 합니다.

!/bin/bash 를 기제를 하지 않아도 실행된다면, 이는 리눅스 배포판은 기본적으로 bash 쉘로 설정되어있어서 동일한 bash 쉘상에서 무리없이 작동되는 경우입니다. !/bain/bash 를 지정해서, bash 쉘 파일임을 미리 알려주는 것이 다른 쉘간의 오류를 방지하는 방법입니다.

(참고)
쉘스크립트에서 #는 주석기호이지만, 첫라인의 #!/bin/bash 에서의 #은 주석기호가 아니라는 점..

bash 와 sh 를 혼용해도 될까요?

결론적으로 모두 같은 의미입니다.
#!/bin/bash
#!/bin/sh

SSH / Telnet 상에서 아래 명령어를 입력해보세요.
ls -al /bin/sh

실행결과 : /bin/sh -> bash

즉, sh 가 bash 의 심볼릭링크로 설정되어있으므로, 서로 혼용해서 사용해도 된다는 의미입니다.

출처 : http://blog.whenji.com/278


* 출처 : http://answers.microsoft.com/ko-kr/windows/forum/windows_7-performance/windows-7-%EB%8B%A8%EC%B6%95%ED%82%A4/bff4e50b-3f82-453e-8bae-6ad973e752ec


Windows 7 단축키

 

창 관리 / 일반 단축키

단축키 설명 
Win + 
↑ 사용중인 창을 최대화 
Win + 
↓ 사용중인 창을 이전 크기 또는 최소화 
Win + 
← 사용중인 창을 스크린 왼쪽 사이드로 최대화 
Win + 
→ 사용중인 창을 스크린 오른쪽 사이드로 최대화 
Win + Home 
사용중인 창만 남기고 모든 창을 최소화 
Win + Space 
모든 창을 투명화 시켜 바탕화면을 볼 수 있음 
(
에어로 피크 기능
Win + Pause/Break 
시스템 속성 대화상자 표시 
Win + Tab 
플립 3D (Win 키를 누른 채로 계속 탭을 눌러 창 전환
Win + Shift + Tab 
플립 3D 역방향으로 회전 
Ctrl + Win + Tab 
플립 3D 고정 모드로 실행 (Esc 키로 취소)
Win + D 
바탕화면 보기 / 복구 
Win + E 
탐색기 열기 
Win + F 
검색 
Win + G 
가젯을 차례로 선택 
Win + M 
모든 창 최소화 
Win + Shift + M 
최소화 된 창 복원 
Win + P 
프리젠테이션 디스플레이 모드 선택 
Win + R 
실행 대화 상자 열기 
Win + X 
윈도우 모바일 센터 실행 
Win + = 
돋보기 
Win + [+/-] 
돋보기 확대/축소 
Win + Shift + 
↑ 사용중인 창을 수직으로 최대화 
Win + Shift + 
↓ 사용중인 창을 이전 세로 크기로 복구 
Win + Shift + 
← 사용중인 창을 이전 모니터로 이동 
Win + Shift + 
→ 사용중인 창을 다음 모니터로 이동 
Ctrl + Shift + Esc 
작업 관리자 실행 
Alt + F4 
사용중인 창 닫기 
Ctrl + F4 
동시에 여러 문서를 열 수 있는 프로그램에서 활성 문서 닫기 
Alt + Tab 
활성 프로그램 전환 (Alt 키를 누른 채로 계속 탭을 눌러 창 전환
Alt + Shift + Tab 
활성 프로그램 역방향으로 전환 
Ctrl + Alt + Tab 
활성 프로그램 전환을 고정 모드로 실행 
Alt + Esc 
프로그램을 열린 순서대로 선택 
Ctrl + Esc 
또는 Win 시작 메뉴 열기 

탐색기 단축키

단축키 설명 활용도 
Alt + 
← 뒤로 이동 
Alt + 
→ 앞으로 이동 
Alt + 
↑ 상위 디렉토리로 이동 
Alt + Enter 
선택한 파일/폴더의 속성 대화상자 열기 
Alt + D 
주소표시줄로 포커스 이동 
Alt + P 
미리 보기 창 보이기 / 감추기 
Ctrl + E 
또는 F3 검색 상자 선택 
Ctrl + N 
새 창 열기 
Ctrl + Shift + N 
새 폴더 만들기 
Ctrl + 
마우스휠 보기 모드를 아주 큰 아이콘큰 아이콘보통 아이콘,작은 아이콘간단히자세히나란히 보기내용 순으로 변경 
Num Lock + * 
선택한 폴더의 모든 하위 폴더를 표시 
Num Lock + + 
선택한 폴더의 내용 표시 
Num Lock + - 
선택한 폴더 축소 
F2 
이름 바꾸기 
F4 
주소표시줄 목록 표시 
F5 
새로 고침 
F10 
메뉴 도구 표시 
F11 
창 최대화 또는 복구 

작업표시줄 단축키

단축키 설명 활용도 
Win + 
숫자 작업표시줄에 고정된 프로그램을 활성화 또는 구동시킴 
(
왼쪽부터 순서대로 1,2,3..) 
Win + Alt + 
숫자 작업표시줄에 고정된 프로그램의 점프리스트를 열어줌 
(
왼쪽부터 순서대로 1,2,3..) 
Win + Ctrl + 
숫자 작업표시줄에 고정된 프로그램의 열린 창을 순서대로 보여줌 
(IE 
또는 워드처럼 복수의 창이 실행되는 프로그램에 적용되고 왼쪽부터 순서대로 1,2,3..) 
Win + Shift + 
숫자 작업표시줄에 고정된 프로그램의 새 창(인스턴스열기
(
왼쪽부터 순서대로 1,2,3..) 
Win + B 
포커스를 작업표시줄 오른쪽의 시스템 알림 영역으로 이동 
(
이후 화살표키로 이동
Win + T 
작업표시줄의 프로그램 썸네일을 순서대로 볼 수 있음 
(
이후 화살표키로 이동
Ctrl + 
아이콘 클릭 작업표시줄에 고정된 프로그램의 열린 창을 순서대로 보여줌 
(IE 
또는 워드처럼 복수의 창이 실행되는 프로그램에 적용
Shift + 
아이콘 클릭 클릭한 프로그램의 새 창(인스턴스열기 
아이콘 미들 클릭 클릭한 프로그램의 새 창(인스턴스열기 
Ctrl + Shift + 
아이콘 클릭 관리자 권한으로 클릭한 프로그램의 새 창(인스턴스열기 

Windows 7 log in/out

단축키 설명 활용도 
Win + 
 + Enter 시스템 종료 
Win + 
 +  + R 시스템 다시 시작 
Win + 
 +  + S 시스템 절전 
Win + 
 +  + W 시스템 사용자 전환 
Win + 
 +  + L 시스템 로그오프 
Win + L 
시스템 잠금 

(
시스템 잠금 단축키 외에는 모두 키보드의 키를 순서대로 눌러서 실행)

 

 

[ 참고 기술자료 ]

 


* 출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=549748&ref=549748




=============================================================================================

▲ 질문내용

 

1. 우선 %p 와 %x의 차이점이 무엇인지 알고 싶네요.

 

     %p도 16진수로 표현 %x도 16진수로 표현. 같은 용도인데 왜 따로 사용하는 사례가 있을까요?

     다른점이 있다면 %p는 빈공간에 0을 넣어서 출력하며 대문자더군요.

     (8자리 출력인 것 보면 주소 값 출력과도 관계가 있는 것 같은데요 ㅠㅠ)

 

2.  출력명령문의 #는 무엇을 하는 녀석입니까?

 

     그리고 #을 사용하게 되면

     0x라는 값이 출력됩니다. 0x는 도대체 뭔지요 ㅠ_ㅠ; 16진수일 때만 나오는군요.

 

▲ 소스

 

main()

{

    int a = 100;

 

// 1. %x#사용 a변수의 주소를 16진수로 표현(10자리로 표현하며 빈공간에는 0을 넣어라)

    

    printf("%#010x\n", &a);

 

// 2. %x사용 a변수의 주소를 16진수로 표현   

 

    printf("%x\n", &a);

 

// 3. %x사용 a변수의 값을 16진수로 표현

 

    printf("%x\n", a);

 

// 4. %p사용 a변수의 주소를 16진수로 표현

 

    printf("%p\n", &a);

 

// 5. %p사용 a변수의 값을 16진수로 표현

 

    printf("%p\n", a);

}

 

결과값

 

1. 0x0012ff7c                     <---- %x 와 #사용. 주소 10자리로 출력 빈공간에는 0을 넣었음.

2. 12ff7c                           <---- %x 를 사용 주소 출력.

3. 64                                <---- %x 를 사용 값 출력.

4. 0012FF7C                     <----- %p 를 사용 주소 출력.

5. 00000064                       <---- %p 를 사용 값 출력.



=============================================================================================


%x 에서 %#x 는 0x 를 붙이라는 뜻이구요, (사용하는 사람이 많지는 않은듯 하네요)

%p 는 포인터 크기 만큼 메모리를 읽어서, 16진수로 표시합니다.

 

아래는 MSDN 에서 뽑아왔습니다.

 

%[flags] [width] [.precision] [{h | l | I | I32 | I64}]type

flags : '-', '+', '0', ' ', '#'

    '-' : 오른쪽 정렬

    '+' : 부호 붙임 (- 또는 +)

    '0' : 앞자리에 0 을 붙임

    ' ' : 앞자리에 공백출력

    '#' : o,x,X 와 같이 쓰일경우 진수 표시. (0, 0x, 0X)

          e,E,f,g,G 와 같이 쓰일 경우 소수점 아래 무조건 표시

width : 전체 길이

.precision : 정밀도.. 일반적으로 f 와 같이 쓰이나, s 와 같이 쓰일경우 길이를 강제로 맞출때 사용. d,x 등 기타 다른 플래그도 동일.

    ex: printf("%.5s", "abcdefghijklmn"); --> "abcde" 만 찍힘. (지원안되는 컴파일러도 있음)

h,l,I,I32,I64 :

    h : short 크기만 읽음

    l : long 크기

    I : int 크기

    I32 : 4 바이트 크기 강제

    I64 : 8 바이트 크기 강제

        w : 2byte character

 

type : d,f,x.p... 등 타입은 다 알고 계실거구요...


 

<< 캡쳐자료입니다>> 


원문 출처 : http://blog.naver.com/dangtong76/140054144449





[정보] 초간단 CORE 파일 분석방법

오늘 턱시도 서비스하나가 반영이됐는데 해당 서비스가 특정패턴으로 수행될경우 턱시도 서버를 죽이는 현상일 발생했습니다.

그림에서 처럼 crt100n 이란 턱시도 서비스가 CRS102T 라는 서비스를수행 하려다가 뒤져버렸습니다.

호랑이는 죽어서 가죽을 남기고 프로세스는 죽어서 CORE 를 남깁니다.

The GNU Debugger(보통 GDB 라고 부릅니다) 라는 프로그램을 통해 CORE 파일을 분석해보기로 마음먹었습니다.

GDB 는 거의 대부분의 유닉스 서버에 다 깔려있습니다.

1단계 : CORE 파일의 정체를 파악

core 라는 이름만 가지고는 누가 죽어서 남긴 놈인지 알수가 없습니다. 그래서 file 이라는 명령을 통해 core

파일을 생산한 놈이 누구인지 확인을 해야 합니다.


보시다 시피 해당 core 파일은 08:54 분에 죽은 crt100n 이라는 프로세스가 남긴거네요 ㅋㅋ ^^

2단계 : GDB를 이용한 CORE 파일 분석

gdb사용법 : gdb 수행파일 CORE파일

ex) gdb ./crt100n ./core

아래를 보시면 먼저

Core was generated by `crt100n'.

Program terminated with signal 11, Segmentation fault.

crt100n 이라는 프로세스가 메모리 세그먼트 오류로 인해 죽었고 죽으면서의 마지막 한마디는 "11" 입니다. ^^ ㅋ


3단계 : 문제의 시점(죽은시점)에 무슨일을 했을까?

문제의 시점에 해당 프로세스가 수행한 일을 보기 위해 "where" 라는 gdb 명령어를 사용합니다. where 라고 치면

죽은시점에서스 함수 CALLSTACK(함수호출순서) 을 보여줍니다. 보는 방법은 자바와 마찬가지로 밑에서부터 위로

수행됐다고 보시면 됩니다.

죽은 원인은 "error accessing memory address 0x0: Invalid argument." 이고 해당 에러가 발생할때의 행동은

CRS105T -> CRS102T -> tpenqueue -> tmatmienter -> tmreattach -> _gp_shmat -> malloc -> _sscanf -> sigfillset

순으로 함수가 호출되었고 sigfillset 이란 함수를 수행하다가 죽었습니다.  왜냐면 제일마지막에 수행한 놈이니깐요.


여기서 잠깐 프로그램이 함수호출과정을 간단하게 살펴보겠습니다.

우리가 프로그램을 짜면 하나의 프로그램은 다음과 같이 구성되어 집니다

user define function(사용자 정의 함수) / application programming Interface (API) / standard library (STD library) / system call (OS 호출함수)

대부분의  프로그램의 호출 순서는 다음과 같습니다

패턴1 : 사용자정의함수 -> STD library -> system call

패턴2 : 사용자정의함수 -> API -> STD library -> OS호출함수

GDB 결과를  보시면 CRS105T 라는 프로그램에서 턱시도함수 tpenqueue (API) 를 호출합니다. 그리고 턱시도 함수는 우리가 학교다닐때배운 malloc 이라는

standard 라이브러리에 있는 함수를 호출합니다. 그리고 다시 malloc 이라는 함수는 _sscanf 라는 system call 함수를 호출합니다.

그래서 요약해보면 CRS105T -> CRS102T -> 턱시도함수 -> STD Library Function -> System call function 으로 순서가 정해집니다


출처 : http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=192456



1. 반드시 포함될 단어/문장을 지정하기

 검색어의 처음과 끝에 큰 따옴표(")를 입력하면 해당 단어나 문장이 반드시 포함된 사이트만 검색할 수 있습니다.
ex) "강남 스타일" 을 구글 검색어 창에 입력하면 정확히 강남 스타일이 표시 된 검색어만 보여줍니다.

 

2. 제외할 검색어를 지정하기
 검색어 앞에 마이너스(-)를 입력하면 해당 검색어를 제외한 결과를 표시합니다.
ex) 갤럭시 -아이폰 을 구글 검색어 창에 입력하면 아이폰을 제외한 갤럭시에 대한 검색 결과를 표시해줍니다.

 

3. 유의어를 검색하기
 검색어 앞에 물결표시(~)를 입력하면 검색어와 유의한 의미를 가진 자료를 보여줍니다.
ex) ~저렴한 맛집 을 구글 검색어 창에 입력하면 저렴한과 비슷한 의미를 가진 여러가지 검색어를 같이 보여줍니다.

 

4. 단어의 정의를 검색하기
 검색어 앞에 'define:' 을 입력 후에 검색하면 해당 검색어의 정의를 보여줍니다.
ex) define:우주 를 검색하면 가장 상단에 우주에 대한 사전적 정의를 보여줍니다.

 

5. 계산기
 단순한 사칙연산 및 수식을 입력하면 계산기가 수식을 계산하여 줍니다. 또한 

'answer to life the universe and everything =(삶, 우주, 그리고 모든것에 대한 해답)' 을 입력하면 '42' 라는 결과가 표시됩니다.

이는 은하수를 여행하는 히치하이커를 위한 안내서라는 작품에 나오는 결과로 이스터에그입니다.
ex) 1+2+3+4+5= 를 검색하면 가장 상단에 해당 수식의 해답을 보여줍니다.

 

6. 빈 칸 채우기
 정확한 검색어가 떠오르지 않을 때에는 문장 사이에 별표(*) 를 입력하면 빈 자리를 체워서 결과를 표시해줍니다.
ex) 아인슈타인 * 이론 을 검색하면 아이슈타인의 이론인 상대성이론을 같이 표시하여 줍니다.

 

7. 환율 및 단위 변환
 환율 및 단위를 변환 할 때에는 이퀄(=) 을 사용하면 편리합니다
ex) 1달러 = ?원 을 검색하면 현재 환율에 따른 1달러에 대한 원화를 보여줍니다.

 

8. 날씨 검색
 검색어에 지역명과 날씨를 검색하면 날씨를 표시해줍니다.
ex) 의정부 날씨 를 검색하면 현재 의정부지역의 날씨를 검색하여 줍니다.

 

9. 숫자의 범위 지정하기
 검색할 숫자 사이에 마침표 두개를 입력하여 검색하면 숫자 범위 내의 검색 결과를 보여줍니다. 

   단순 숫자 뿐만 아니라 단위 역시 가능합니다.

ex) 2010년..2012년 선물 를 검색하면 2010년~2012년 과 선물이 포함된 검색어를 보여줍니다.

 

10. 두 단어 중 아무거나 검색하기
 검색하고 싶은 두 단어 사이에 or 을 검색하면 두 단어 중 둘 중 하나라도 있는 검색결과를 표시하여 줍니다.
ex) 미국 or 영국 를 검색하면 미국 또는 영국이 포함된 검색결과를 보여줍니다.

 

11. 특정 사이트 이내에서만 검색하기
 검색하고 싶은 자료를 특정 사이트 이내에서만 한정하고자 할 때에는 'site:주소' 를 입력 후에 검색하면
해당 사이트 이내에서만 검색이 됩니다.
ex) site:plus.google.com 한국 을 검색하면 구글플러스 내에서 한국이라는 글자가 포함된 검색결과를 보여줍니다.

 

12. 고급검색 이용하기
 고급검색을 이용하면 좀더 편리하게 사용할 수 있습니다.

   (http://www.google.com/advanced_search)

 

13. 특정 종류의 파일만 검색하기
 구글은 HTML 콘텐츠만을 배타적으로 검색하지는 않습니다. 찾고자 하는 것을 입력하고 끝에 filetype:tag를 추가합니다.
예를 들어 "filetype:doc"를 추가하면 결과에 .doc 파일들만 검색됩니다. 이 검색 기능은 PDF, 마이크로소프트 오피스 파일, 쇼크웨이브 플래시(Shockwave Flash) 등을 지원합니다.

# MS-SQL 쿼리 로그 보기(쿼리문)


select db_name(st.dbid) I3_IC ,

       qs.total_elapsed_time ,

       creation_time ,

       last_execution_time,

       text 

  from sys.dm_exec_query_stats qs cross apply sys.dm_exec_sql_text(qs.plan_handle)st join sys.dm_exec_cached_plans cp on qs.plan_handle = cp.plan_handle 

 where creation_time >= '2012-01-01 00:00:00' 

   --and db_name(st.dbid) is not null and cp.objtype = 'proc' --조건: 종류

   and text like '%delete%'

 order by last_execution_time desc;





***   원본 URL : http://mungi.tistory.com/209



### CMD 창을 이용한 Ad hoc 설정하기 ###


가상 아답타 생성을 통해 사용이 가능함.

1. 가상 Wifi 어뎁터 생성

    CMD(관리자 권한) 띄우고 netsh wlan set hostednetwork mode=allow ssid="name" key="pass"

    ※ name 는 원하는 식별명 이고 pass는 wpa2 상응 8자리 암호이며 암호프리는 안됨에 주의.

 

2. ICS 세팅.

    네트워크 → 속성 → 어댑터 설정변경 에서 Virtual wifi monoport adaptor 가 생성 되었는지 확인하고

    인터넷 연결된 어댑터에서 속성 → 공유 → ...연결허용 체크 → 생성된 Virtual wifi ... 선택.

 

3. 시비스 시작

    CMD 에서 netsh wlan start hostednetwork

    이 명령을 실행하면 Virtual wifi  어댑터가 연결 상태로 표시되고 클라이언트에서 사용 가능. (해제는 start → stop).

  

    ※ 3번을 윈도 시작시 자동실행을 원한다면 바탕화면 → 새로만들기 → netsh wlan start hostednetwork → 확인

         다시 바탕화면 대상에 → 속성 → 고급 → 관리자권한 체크 → 확인 그리고 시작 프로그램에 끌어놓음.

 

이상 Win7 환경에서 ADhoc 장애시 AP모드 사용법 입니다. 


microsoft virtual wifi miniport adapter 는 softAP 기능을 사용하기 위해 Wireless Hosted Network 가 지원 장치에서 Windows 7 에서 생성되는 가상 무선 어댑터입니다.

(자세한 내용은 아래 링크 참조 바랍니다.)

무선 네트워크 장치 및 장치 드라이버에서 Windows 7 에서 정상 호환 (Windows 7 로고 인증) 되어야 하며 또 호스트된 네트워크 모드가 활성화 되어야 생성됩니다.

이는 해당 무선네트워크 드라이버 및 유틸리티를 설치하며 해당 기능이 활성화 될 수 있습니다. ( 제조사에 따라 다를 수 있습니다.) 

또는 타사응용프로그램 및 드라이버 등의 영향으로도 발생될 수 있습니다.  해당 무선 네트워크 장치의 드라이버만 별도로 설치하신 경우  아래 내용을 진행하여 점검해보실 수 있습니다.

시작- 검색상자 - cmd 를 입력하고 검색된 CMD를 마우스 우클릭 관리자 권한 실행합니다.

명령프롬프트에서 아래 명령을 입력합니다.

netsh wlan show drivers

위 내용과 같이 호스트된 네트워크 지원 : 예 로 표시되어 있어야 해당 기능이 사용가능합니다.

아니오로 표시된 경우 올바른 드라이버가 설치되어 있는지 확인하신 후 해당 하드웨어 제조업체로 문의하시기 바랍니다.

 netsh wlan show hostednetwork를 입력합니다.

위와 같이  모드가 허용안함으로 표시되거나 호스트된 네트워크 상태가 사용할 수 없음으로 나타난다면 아래 내용을 입력합니다.

netsh wlan set hostednetwork [ssid=]<ssid> [key=]<passphrase> [keyUsage=]persistent|temporary

ex)

위와 같이 설정 완료 메시지가 나타난다면 장치관리자에서 microsoft virtual wifi miniport adapter를 확인합니다.

 

데이터 전송속도 단위에서, bps 는 "초당 전송 비트의 수 (bit/s)"입니다. bps 단위를, 보다 알기 쉬운 "초당 킬로바이트(KB/s)" 등으로 변환하는 계산기입니다. 참고로, 고화질 JPG 사진 파일 1개는 평균 200KB~300KB입니다. MP3 음악 파일 1개는 보통 3MB~4MB 정도의 크기입니다. 고화질 동영상으로 된 영화 1편은 대체로 1~2GB 내외입니다.

1KB = 1024 Bytes (Default/기본값)
1KB = 1000 Bytes


bps 입력         : bps
초당 킬로바이트  : KB/s
초당 메가바이트  : MB/s
시간당 기가바이트: GB/h

kbps 입력        : kbps
초당 킬로바이트  : KB/s
초당 메가바이트  : MB/s
시간당 기가바이트: GB/h

Mbps 입력        : Mbps
초당 킬로바이트  : KB/s
초당 메가바이트  : MB/s
시간당 기가바이트: GB/h

Gbps 입력        : Gbps
초당 킬로바이트  : KB/s
초당 메가바이트  : MB/s
시간당 기가바이트: GB/h

Tbps 입력        : Tbps
초당 킬로바이트  : KB/s
초당 메가바이트  : MB/s
시간당 기가바이트: GB/h



bps, kbps, Mbps, Gbps, Tbps 는 항상 1000 단위입니다. 즉, 1 kbps 는 1000 bps 입니다. 1024 bps 가 아닙니다.

한편 KB, MB, GB 는 1024 단위입니다. 즉 1 KB 는 1024 Byte 입니다. 그러나 가끔 1 KB 를 1000 Byte 로 간주하는 경우가 있는데 이때는 계산기 상단의 옵션 버튼을 선택하면 됩니다.

(출처) http://mwultong.blogspot.com/2008/01/bps-kbps-mbps-gbps-tbps-calculator.html


+ Recent posts