레이블이 How to인 게시물을 표시합니다. 모든 게시물 표시
레이블이 How to인 게시물을 표시합니다. 모든 게시물 표시

2018-11-13

텀블러(Tumblr) 동영상 저장방법 1

1. 저장을 원하는 동영상에 마우스 오른쪽 버튼을 클릭하면 Inspect(검사) 메뉴항목을 볼 수 있습니다.  클릭해 줍니다.
2. 동영상을 클릭하면 해당하는 코드가 선택이 됩니다. "<video id=" 헤더로 시작하는 코드를 더블클릭하면 하위 "<source src=" 헤더가 나타납니다.  "<source src=" 헤더를 더블클릭하면 복사할 수 있도록 에디터모드가 됩니다. 주소를 복사해 둡니다. 
3. 복사된 URL로 웹브라우저를 열면 동영상파일(mp4)로 불러온 화면이 나타납니다.
4. 마우스 오른쪽 클릭을 하면 저장할 수 있는 메뉴가 나타납니다.

참고:
웹브라우저: 크롬

페이스북(Facebook) 동영상 저장하기

1. 페이스북에서 원하는 동영상 컨텐츠를 클릭하면 자세한 동영상 컨텐츠로 볼수 있는 페이지로 이동합니다.
2.  사이트 주소를 www에서 m으로 변경하여 줍니다. (https://www.facebook.com/100013795959648/videos/561371467666047/?view=permalink&id=345970996189789&_rdr 사이트주소를 m.facebook.com으로 변환하고 난후에 새로 불러 오면 모바일타입의 화면으로 바뀝니다.
https://m.facebook.com/100013795959648/videos/561371467666047/?view=permalink&id=345970996189789&_rdr)
3. 모바일화면으로 바뀌면 전체화면보기로 전환합니다.
4. 마우스의 오른쪽 클릭을 하면 동영상을 저장할 수 있는 메뉴가 나타납니다.

참고:
웹브라우저: 사파리
단점: 동영상을 저장을 할 수는 있지만 모바일에서 Play되는 동영상으로 저장이 됩니다.

2018-11-05

실업급여를 받기위한 쉬운 구직활동내역 만들기

실업급여(고용보험료)를 받기 위해서는 고용보험사이트에 가입을 하고 실업인정 신청을 하면 됩니다. 그러나 4주에 최소 2번이상의 구직활동이 있어야 합니다.  
고용보험사이트(www.ei.go.kr)에 접속한후에 실업급여->인터넷 실업인정 신청 메뉴를 선택합니다. 그리고 차례대로 필요한 사항을 입력하면 됩니다. 그러나 하루에 두번 이상의 구직활동은 인정되지 않으며, 구직활동을 한 곳은 다시 신청을 할 수가 없습니다.

"지난구직활동내역보기" 버튼을 클릭하면 지금까지 지원한 곳의 사업자명이 나옵니다. 중복이 되지 않도록 미리 확인하여 실업급여신청일이 다 되어 가기 전에 구직활동을 하는 것이 좋습니다. 만약 구직활동을 할 곳이 없다면 아래와 같이 구직활동내역서를 제출하면 됩니다.

JOBKOREA의 헤드헌팅 메뉴를 선택한 후에 등록마감일이 임박한 그리고 본인의 조건과 유사한 업체을 선택하고 지원을 합니다.
본인 관리메뉴에서 "입사지원현황" 항목을 선택합니다.
왼쪽 메뉴의 취업활동 증명서를 선택하고 지원한 회사를 선택한 후에 증명서 보기를 선택하면 취업활동 증명서를 볼 수 있습니다. 그리고 프린트하기나 파일로 저장하기를 선택하면 됩니다. PDF로 저장한 후에 고용보험사이트에 구직활동 증명으로 파일을 업로드하면 됩니다.

2018-11-02

웹사이트에서 오른쪽 마우스 클릭과 컨텐츠가 복사가 안 될 때 (Java Script 비활성화 하기)

웹사이트에서 오른쪽 마우스 클릭과 화면에 보이는 컨텐츠가 복사가 안 되는 경우는 웹사이트에 JavaScript가 적용되어 복사를 방지하고 있기 때문입니다. 그럴 경우에는 JavaScript 기능을 비활성으로 설정하면 복사가 가능해집니다.

사파리:
Java Script 비활성화 하기
사파리의 경우에는 Preferences를 선택한 후에 Security 메뉴에서 Web content의 Enable JavaScript를 비활성화 해줍니다.

크롬:
Java Script 비활성화 하기
크롬의 경우에는 오른쪽 위에는 "Customize and Control"메뉴를 선택한후에 Settings 서브메뉴를 선택합니다. 그리고 나서 화면의 가장 아래에 있는 Advanced를 클릭하여 확장된 설정화면을 봅니다.
Java Script 비활성화 하기
Advanced에서 Content Settings을 클릭해 줍니다.
그리고 나서 JavaScript 항목을 클릭해줍니다.
Java Script 비활성화 하기
Blocked항목을 비활성화하면 모든 웹사이트의 Java Script가 비활성화되면 Block항목에 원하는 웹사이트를 Add하면 원하는 사이트만 비활성화됩니다.


맥북에서 macOS Mojave 부팅 USB 만들기

macOS Mojave 부팅 USB 만들기

App Store(앱스토어)에서 macOS Mojave를 다운로드합니다. 다운로드가 완료되면 터미널을 실행한 후에 16GB이상되는 USB 디스크를 삽입한 후에 위의 이미지와 같이 명령어를 실행하면 됩니다.

2018-10-08

[MacOS] Photos의 Photos Library파일을 선택하는 방법

Photos 프로그램을 실행하기 전에 "option" 버튼을 길게 누르고 있는 상태에서 Photos 프로그램을 클릭하면 Library를 선택할 수 있는 화면이 나타납니다.

2018-09-21

애플 iPhone 고속 충전하기

보통 고속충전을 지원하는 케이블은 2.1A를 지원하는 케이블입니다.
Apple에서 제공하는 Lighting cable은 모두 고속충전을 지원합니다. 애플 고객센터에 연락해서 직접 알아본 사항입니다.
           
<5W Adapter>.                                <10W or 12W Adapter>.              

Apple에서 제공하는 충전 어댑터는 5W, 10W 그리고 12W가 있습니다.  보통 iPhone을 구매하면 5W를 제공하며, iPad이상을 구입하면 10W가 제공됩니다. 만약 그 이상의 빠른 충전을 원하면 12W를 추가로 구매하면 됩니다. 만약 iPhone도 있고, iPad도 구매를 하였다면 iPhone을 10W에 충전하면 보다 빠르게 충전할 수 있습니다. (10W: 5.1V/2.1A)

참고사이트: 고속충전 케이블 

2014-02-14

grep (주어진 패턴을 포함하는 파일의 라인을 출력) 명령어의 옵션 설명

-C : 일치하는 문장의 상하 두 라인까지 포함하여 출력합니다.
-V : 버전과 함께 출력합니다.
-b : Byte 오프셋과 함께 출력합니다
-c : 일치하는 라인의 갯수를 출력
-h : 파일명은 출력하지 않음.
-i : 대소문자 구분하지 않음.
-l : 일치하는 내용을 가지는 파일명만 출력
-n : 일치하는 내용을 가지는 라인 번호를 출력
-s : 에러 메시지만을 출력
-v : 일치하지 않는 내용을 출력
-w : 한 단어로 일치해야 출력
-x : 전체 라인이 일치해야 출력

2014-02-13

Macbook Pro Mavericks(OSX 10.9.1)에서 USB-to-Serial로 AcmePacket 연결하기

우선 MAC용 USB-to-Serial Driver를 download합니다.  PL2303 Mac OS X Driver Download
정상으로 설치가 되고 USB-to-Serial cable을 Macbook Pro에 연결을 하면 아래와 같이 tty.usbserial 파일을 확인할 수 있습니다.
Last login: Thu Feb 13 21:46:39 on console
kims-MacBook-Pro:~ stevekim$ cd /dev
kims-MacBook-Pro:dev stevekim$ ls tty.usbserial
tty.usbserial
kims-MacBook-Pro:dev stevekim$ 

OSX에서 지원하는 VT100/ANSI terminal emulation을 아래와 같이 실행합니다.
kims-MacBook-Pro:dev stevekim$ sudo screen ./tty.usbserial 115200

emulation을 종료하는 방법 Ctrl + \ 를 누르면 됩니다. (종료하지 않은 상태에서 cable을 빼면 rebooting이 될 수 있습니다.)

만약 위의 Driver로 접속이 되지 않으면 아래의 홈페이지를 참조하십시오.
http://pbxbook.com/other/mac-tty.html

Screen 프로그램 옵션:
-L : Screen 프로그램실행시에 log를 파일로 저장해 줍니다.

2014-01-10

How to run RPM & YUM

RPM 사용법
# rpm [옵션][RPM 패키지명]

rpm 패키지 설치
# rpm -Uvh [RPM 패키지명(*. rpm)]
  • -U : 이미 설치되 패키지를 찾아서 새로운 버젼으로 업그레이드합니다.
  • -v : 자세한 설치정보를 출력합니다.
  • -h : 설치진행과정을 화면에 출력합니다.
rpm 패키지 삭제
# rpm -e [RPM 패키지명]

rpm 패키지 질의 옵션
# rpm -qa [RPM 패키지명] ; 모든 패키지에 대한 질문을 수행합니다.
# rpm -qi [RPM 패키지명] ; 패키지의 이름 버젼, 설명 등의 정보를 출력합니다.
# rpm -qR [RPM 패키지명] ; 현재 패키지가 의존하는 패키지 목록을 출력합니다.
# rpm -ql [RPM 패키지명] ; 패키지 안의 파일을 출력합니다.
# rpm -qd [RPM 패키지명] ; 문서파일만을 출력합니다.
# rpm -qc [RPM 패키지명] ; 설정 파일만 출력합니다.

YUM 사용법
# yum list installed ; 리눅스에 설치된 패키지의 목록을 보여줍니다.
# yum list installed [패키지 이름] ; 특정 패키지가 설치되어 있는지 보여줍니다.
# yum install [패키지 이름] ; 패키지 설치

  • -y : 패키지 설치시, 설치여부를 묻는 과정에서 모두 yes로 합니다.
# yum update ; 패키지 업데이 트
# yum check-update ; 업데이트 가능한 패키지 목록을 봅니다.
# yum remove [패키지 이름] ; 패키지 삭제
# yum info [패키지 이름] ; 패키지 정보확 인

How to install ssh under RHEL/CentOS/Fedora Linux

Linux를 설치하면 SSH client와 SSH Server가 설치되어 있지 않을 수가 있습니다. 이 때 Yum을 이용하여 openssh를 설치해 주면 됩니다.
# yum install openssh-server openssh-clients

sshd를 enable시키고 시작하는 방법입니다.
# chkconfig sshd on
# service sshd start

만약 iptables(firewall)이 구동되고 있다면 아래와 같이 추가해 주세요.
# /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# service iptables save

만약 원하는 source network만 허용해주기를 원하신다면 아래와 같이 추가해 주면 됩니다.
# /sbin/iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# service iptables save

2014-01-08

NTPD 설정

1. 서버의 내부 시간을 이용하여 NTP 서버로 구동
vi /etc/ntp.conf
server 127.127.1.0  # 다른 server는 주석으로 해 줍니다.
service ntpd start
만약에 이미 ntpd가 구동되어 있다면 service ntpd restart로 실행합니다.

2. 외부서버의 NTPD를 이용하여 NTP 서버로 구동
vi /etc/ntp.conf

server gps.bora.net
server time.bora.net
server time.nuri.net
server time.kriss.re.kr
server time.nist.gov

service ntpd start
NTPD  구동 및 상태보기에서 참조할 사항

시스템 재시작혹은 데몬 시작이후에는 약 5분정도가 지난후에 반영됩니다.

remote : sync 를 하는 straum  서버주소
refld : 각 straum  서버가 현재 sync 를 하고 있는 straum  서버를 보여줌
st : 각 라인의 remote 들의 straum 을 나타냄
* 표시 : 실질적으로 선택되서 동기화 되고있는 서버
+ 표시 : ntp 알고리즘에 의해 접속은 가능하지만 sync 를 하고 있지는 않음(일종의 대기상태)
- 표시 : ntp 알고리즘에 의해 접속은 가능하지만 sync 가능 리스트에서 제외
blank 표시 : 접속이 불가능
reach: reachability (reach 값은 타임서버에 완전히 접속하기 위한 8진수로 377이어야 합니다.)
delay: delay (delay 값은 양의 수여야 하며 가능한 작은 값이어야 합니다.)
disp: dispersion (disp 값은 서버중 적어도 하나는 1000ms(1초) 미만이어야 하며,
                  서버중 적어도 한개는 반드시 서버명 앞에 * 표시가 되어야 합니다.)
offset 5.120165 sec은 타임서버의 시간과 로컬서버와의 시간 차이를 나타냅니다.

Seagull(Open source Multi-protocol traffic generator) 일반 설치

Seagull  일반 설치

1. Seagull program을 download합니다. (http://sourceforge.net/projects/gull/files/seagull/) 적당한 위치에 tar.gz을 풀어줍니다.

tar -xvf seagull.svn.LINUX.tar.gz
seagull.svn.LINUX

2. 압축을 풀었으면 해당 directory로 이동해서 compile하기 위한 준비를 합니다.

cd ./seagull.svn.LINUX

compile 및 install script가 ksh로 되어 있어 ksh이 있는지 확인합니다. 만약 없다면 설치해 주세요.
확인: which ksh 또는 ksh
설치: yum installl ksh

compile을 하기 전에 clear를 해 줍니다.
./build.ksh -target clean

3.  seagull 및 lib를 compile을 합니다.
./build.ksh -target all

[System  : LINUX]
[Archi   : X86_64]
[Mode    : RELEASE]
[Name    : seagull]
[Version : 1.8.2]

[Begin Makefile generation phase]
[Generating file seagull]
......

4. 참고로 compile시에 발생하는 Error에 대한 대처방안입니다.

4.1. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./common/C_RegExp.hpp
#include <string.h>  // 추가해 줍니다.

(에러)
[Compiling common/C_RegExp.cpp]
common/C_RegExp.cpp:51: error: ‘memcpy’ was not declared in this scope
common/C_RegExp.cpp:69: error: ‘memset’ was not declared in this scope
common/C_RegExp.cpp:79: error: ‘strstr’ was not declared in this scope
common/C_RegExp.cpp:131: error: ‘memset’ was not declared in this scope
common/C_RegExp.cpp:141: error: ‘strstr’ was not declared in this scope
common/C_RegExp.cpp:189: error: ‘memset’ was not declared in this scope
common/C_RegExp.cpp:199: error: ‘strstr’ was not declared in this scope

4.2. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./generator-common/TextUtils.hpp
#include <string.h>  // 추가해 줍니다.

(에러)
[Compiling generator-common/TextUtils.cpp]
generator-common/TextUtils.cpp:60: error: ‘memcpy’ was not declared in this scope

4.3. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./generator-core/cmd_line_t.hpp
#include <string.h>   // 추가해 줍니다.

(에러)
[Compiling generator-core/cmd_line_t.cpp]
generator-core/cmd_line_t.cpp:54: error: ‘strlen’ was not declared in this scope
generator-core/cmd_line_t.cpp:61: error: ‘memcpy’ was not declared in this scope

4.4. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./protocol-binary/C_MessageBinary.cpp
line 493:
// if(L_found = (L_occurence == 0))  // 주석처리
if(L_found == (L_occurence == 0))  // 추가해 줍니다.
line 531:
// if(L_found = (L_occurence == 0))  // 주석처리
if(L_found == (L_occurence == 0))  // 추가해 줍니다.
line 800:
// if(L_found = (L_occurence == 0))  // 주석처리
if(L_found == (L_occurence == 0))  // 추가해 줍니다.

(에러)
Compiling protocol-binary/C_MessageBinary.cpp]
cc1plus: warnings being treated as errors
protocol-binary/C_MessageBinary.cpp:493: error: suggest parentheses around assignment used as truth value
protocol-binary/C_MessageBinary.cpp:531: error: suggest parentheses around assignment used as truth value
protocol-binary/C_MessageBinary.cpp:800: error: suggest parentheses around assignment used as truth value

4.5. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./protocol-tlv/C_MessageTlv.cpp
line 462:
// if(L_found = (L_occurence == 0))  // 주석처리
if(L_found == (L_occurence == 0))   // 추가해 줍니다.
line 502:
// if(L_found = (L_occurence == 0))  // 주석처리
if(L_found == (L_occurence == 0))   // 추가해 줍니다.
line 773:
// if(L_found = (L_occurence == 0))  // 주석처리
if(L_found == (L_occurence == 0))   // 추가해 줍니다.

(에러)
[Compiling protocol-tlv/C_MessageTlv.cpp]
cc1plus: warnings being treated as errors
protocol-tlv/C_MessageTlv.cpp:462: error: suggest parentheses around assignment used as truth value
protocol-tlv/C_MessageTlv.cpp:502: error: suggest parentheses around assignment used as truth value
protocol-tlv/C_MessageTlv.cpp:773: error: suggest parentheses around assignment used as truth value

4.6. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./data-log/C_LogValue.hpp
#include <string.h>   // 추가해 줍니다.

(에러)
[Compiling data-log/C_LogValue.cpp]
data-log/C_LogValue.cpp:30: error: ‘strncpy’ was not declared in this scope
data-log/C_LogValue.cpp:46: error: ‘strncpy’ was not declared in this scope
data-log/C_LogValue.cpp:56: error: ‘strncpy’ was not declared in this scope

4.7. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./library-trans-ip/S_IpAddr.hpp
#include <string.h>   // 추가해 줍니다.

(에러)
[Compiling library-trans-ip/S_IpAddr.cpp]
library-trans-ip/S_IpAddr.cpp:41: error: ‘memset’ was not declared in this scope

4.8. 만약에 Compile시에 아래와 같은 Error가 발생을 하면 아래와 같이 조치해 주십시오.
vi ./build.conf
// 아래에 있는 parameter name에 해당하는 줄에 -fPIC를 추가해 줍니다.
BUILD_EXE_CC_FLAGS_LINUX="-DVERSION=\\\"${PROJECT_VERSION}\\\" -D_GNU_SOURCE -D_REENTRANT -Wall -Werror -DINIT_CALL_FILTER -fPIC"
BUILD_EXE_LD_FLAGS_LINUX="-rdynamic -fPIC"
BUILD_LIB_CC_FLAGS_LINUX="-D_GNU_SOURCE -D_REENTRANT -shared -Wall -Werror -fPIC"
BUILD_LIB_LD_FLAGS_LINUX="-shared -fPIC"
BUILD_LIBIPTLS_CC_FLAGS_LINUX="$OPENSSL_DIR_INC -DOPENSSL_NO_KRB5 -D_GNU_SOURCE -D_REENTRANT -shared -Wall -Werror -fPIC"
BUILD_LIBIPTLS_LD_FLAGS_LINUX="-fPIC -shared"
BUILD_LIBCRYPTO_CC_FLAGS_LINUX="$OPENSSL_DIR_INC -DOPENSSL_NO_KRB5 -D_GNU_SOURCE -D_REENTRANT -shared -Wall -Werror -fPIC"
BUILD_LIBCRYPTO_LD_FLAGS_LINUX="-fPIC -shared"
BUILD_LIBEXTSCTP_CC_FLAGS_LINUX="-I`check_sctp_external_lib`/include -D_GNU_SOURCE -D_REENTRANT -DSCTP_SOCKET_API -shared -Wall -Werror -fPIC"
BUILD_LIBEXTSCTP_LD_FLAGS_LINUX="-fPIC -shared"
BUILD_TCAP_LIB_CC_FLAGS_LINUX="-D_GNU_SOURCE -DTCAP_API100 -D_REENTRANT -shared -Wall -Werror -I/opt/OC/include -I./octcap_include -fPIC"
BUILD_TCAP_LIB_LD_FLAGS_LINUX="-shared -fPIC"
BUILD_LIB_CC_FLAGS_CYGWIN_NT_5_1="-D_GNU_SOURCE -D_REENTRANT -shared -Wall -Werror -fPIC"
BUILD_LIB_LD_FLAGS_CYGWIN_NT_5_1="-shared -fPIC"

(에러)
/usr/bin/ld: C_RegExp.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: C_Socket.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC

5. compile이 완료되었으면 install script를 실행해 줍니다. 만약 설치할 directory를 변경하고 싶으시면 script에 적혀있는 directory를 변경해 주십니다.
./install.ksh

SIPP 3.1에서 Authentication과 PCAP를 사용하기

1. Authentication과 PCAP를 사용하기 위해서는 SIPP를 새로이 compile해야 합니다.
compile하기 전에 Authentication를 위해 openssl이 설치되어 있는지 확인합니다.
Code: Select all
[root@www ~]# which openssl
/usr/bin/openssl

만약에 설치가 되어 있지 않으면 아래의 사이트에서 download받아 설치합니다.
http://www.openssl.org/source/
그리고 PCAP를 위해 libpcap이 설치 되어 있는지도 확인합니다.
Code: Select all
[root@www ~]# ls -l /usr/include/pcap.h
ls: cannot access /usr/include/pcap.h: No such file or directory
[root@www ~]# ls -l /usr/local/include/pcap.h
-rw-r--r-- 1 root root 8453 Oct  1 13:46 /usr/local/include/pcap.h
[root@www ~]#

만약에 설치가 되어 있지 않으면 아래의 사이트에서 download받아 설치합니다.
http://sourceforge.net/projects/libpcap/

2. 위 library들의 설치되어 있음을 확인했으면 이제 compile을 하도록 합니다.
Code: Select all
[root@www ~]# cd sipp.svn
[root@www sipp.svn]# make pcapplay_ossl
make OSNAME=`uname|sed -e "s/CYGWIN.*/CYGWIN/"` MODELNAME=`uname -m|sed "s/Power Macintosh/ppc/"` OBJ_TLS="auth.o sslinit.o sslthreadsafe.o  milenage.o rijndael.o" TLS_LIBS="-lssl -lcrypto" TLS="-D_USE_OPENSSL -DOPENSSL_NO_KRB5"  OBJ_PCAPPLAY="send_packets.o prepare_pcap.o" PCAPPLAY_LIBS="-lpcap `if test -f ./ext; then echo -L./ext/lib; fi;`" PCAPPLAY="-DPCAPPLAY `if test -f ./ext; then echo -I./ext/include; fi;`" sipp
'make[1]: Entering directory `/root/sipp.svn'
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o auth.o auth.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o sslinit.o sslinit.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o sslthreadsafe.o sslthreadsafe.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o milenage.o milenage.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o rijndael.o rijndael.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o send_packets.o send_packets.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o prepare_pcap.o prepare_pcap.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o xp_parser.o xp_parser.c
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o message.o message.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o scenario.o scenario.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o screen.o screen.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o call.o call.cpp
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o comp.o comp.c
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o sipp.o sipp.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o stat.o stat.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o actions.o actions.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o variables.o variables.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o infile.o infile.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o deadcall.o deadcall.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o task.o task.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o socketowner.o socketowner.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o listener.o listener.cpp
gcc     \
    -o sipp auth.o sslinit.o sslthreadsafe.o  milenage.o rijndael.o send_packets.o prepare_pcap.o xp_parser.o message.o scenario.o screen.o call.o comp.o sipp.o stat.o actions.o variables.o infile.o deadcall.o task.o socketowner.o listener.o -ldl -lpthread -lncurses -lstdc++ -lm -L /usr/local/lib -L /usr/lib -L /usr/lib64  -lssl -lcrypto -lpcap
'make[1]: Leaving directory `/root/sipp.svn'
[root@www sipp.svn]#

Installation openssl, and generation Private Key, Root CA, and Processing CSR of SBC

1. openssl 설치하기
1.1. openssl 최신버젼을 download합니다. (http://www.openssl.org)
1.2. 압축을 풀고, 해당 directory로 이동합니다.
tar -xvf openssl-1.0.1e.tar.gz
cd ./openssl-1.0.1e
1.3. compile과 install을 합니다.
/config --prefix=/opt/openssl  //default directory는 /usr/local입니다.
make
make test
make install
1.4. install한 directory로 이동합니다.
cd /opt/openssl

2. RootCA 및 Private Key 생성하기
2.1. 초기 file 및 directory 생성하기
cd ./ssl
mkdir newcerts
echo '01' > serial
touch index
2.2. private key 및 Root CA 생성하기
../bin/openssl req -nodes -config ./openssl.cnf -days 1825 -x509 -newkey rsa:2048 -out ./certs/cacert.pem -outform PEM
Generating a 2048 bit RSA private key
...............................................................................................................................................+++
..............................................................................................................+++
writing new private key to './private/cakey.pem'
-----

3. SBC에서 CSR(Certificate Signing Request) 생성하기
3.1. configure terminal->security->certificate-record로 이동한 후에 아래와 같이 certificate record를 생성합니다.
certificate-record
name                           tls-test
country                        US
state                          CA
locality                       Redwood
organization                   Engineering
unit                           
common-name                    oracle.com
key-size                       2048
alternate-name                 
trusted                        enabled
key-usage-list                 
                              digitalSignature
                              keyEncipherment
extended-key-usage-list        
                              serverAuth
options                        
3.2. save와 activate를 합니다.
save-config
activate-config
3.3. 아래와 같이 CSR를 생성합니다.
generate-certificate-request tls-test

-----BEGIN CERTIFICATE REQUEST-----
MIICzzCCAbcCAQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQH
EwdSZWR3b29kMRQwEgYDVQQKEwtFbmdpbmVlcmluZzETMBEGA1UEAxMKb3JhY2xl
LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIeHUcytbaj2+5f
VZ6z/0OYgOod9XdI4N8DYVqEqdtq4es51Pm671/ftiVUZ2YBGug5E2JcE934Gidt
5Duz9SKck++31Q2Aq4pfPFR1VmzMSdC5AkzqaY1OSaiqKc9v6xlzol7OoXze6kuv
CdXYKkbXA1y3JZ2G+7N45gJRFOc8VifGinyFtWM7EJfHHEUCj4QTWossYALE9AKx
0diXguWfEVAK/nCH0Jz7echZ8gkCyiLvVS7eBWaCn6jRJ3yqQY5NNg7cjJ9jzz3i
8DO7ptct9EW2fFjHxrVenkKBPYnSCp6jjboZohchmKtDsQcujdWLOiijms29XVs8
rPfZQIkCAwEAAaAzMDEGCSqGSIb3DQEJDjEkMCIwCwYDVR0PBAQDAgWgMBMGA1Ud
JQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBBQUAA4IBAQCYMK7OpJI6JO5RgfaK
2/b8a5V97FsHb0ExGFEKqwVTGzE/QRweDWcV/H8eD8VQO3uFmgHnUNm/x5NT0uq7
udEdGcyW/F8Iz3RRdzs5pUY+1RTiiccuCDK2Vky0OYnCsB1qBnRU96cF7QIWW2cn
vIp64ybNoixjdGlMzTrEIA/OFEq0z7/ARbszcyAa49q4WRpWFLyis97VtDfDQQW5
GIPC1Ppm6wAfTouzUBnjdPkqDTl7KlFXT+HssF1w9DEiagfE7Okzk3SO9yD9wkp6
IYio8dXlk1yX7ay3K3hqabiXZ5T1VBfl25DNW/eH4eeqZNdhsBxnVwfZDfA4BUuD
4ICp
-----END CERTIFICATE REQUEST-----

3.4. -----BEGIN에서 REQUEST-----까지 copy한 후에 openssl server의 /opt/openssl/ssl/newcerts/SDcert-req.pem file을 생성합니다.
vi /opt/openssl/ssl/newcerts/SDcert-req.pem file

4. CSR를 이용하여 signed CA를 생성합니다.
cd /opt/openssl/ssl
../bin/openssl ca -out ./newcerts/SDcert-out.pem -config ./openssl.cnf -infiles ./newcerts/SDcert-req.pem
Using configuration from ./openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Sep 16 07:55:13 2013 GMT
            Not After : Sep 16 07:55:13 2014 GMT
        Subject:
            countryName               = US
            stateOrProvinceName       = CA
            organizationName          = Engineering
            commonName                = oracle.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Subject Key Identifier: 
                A5:E0:11:63:53:6F:2F:9B:62:4D:BC:3F:54:D8:9F:C1:73:79:2E:AE
            X509v3 Authority Key Identifier: 
                keyid:5C:C9:40:B2:94:80:46:8B:63:19:BA:D3:DC:ED:15:3C:F5:0A:3E:E9
                DirName:/CN=oracle.com/C=US/ST=CA/L=Redwood/O=Engineering/emailAddress=yong.su.kim@oracle.com
                serial:E7:B8:6E:9A:E3:F1:A5:6F

            Netscape CA Revocation Url: 
                https://www.sial.org/ca-crl.pem
Certificate is to be certified until Sep 16 07:55:13 2014 GMT (365 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

5. 생성된 Signed CA를 SBC에 import하기
5.1. /opt/openssl/ssl/newcerts/SDcert-out.pem file에서 -----BEGIN부터 CERTIFICATE-----까지 copy합니다.
SBC로 login한후에 enable상태에서 아래와 같이 명령어를 입력합니다.
import-certificate try-all tls-test


IMPORTANT:
Please enter the certificate in the PEM format.
Terminate the certificate with ";" to exit.......

-----BEGIN CERTIFICATE-----
MIIEUzCCAzugAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MRMwEQYDVQQDEwpvcmFj
bGUuY29tMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAcTB1JlZHdv
b2QxFDASBgNVBAoTC0VuZ2luZWVyaW5nMSUwIwYJKoZIhvcNAQkBFhZ5b25nLnN1
LmtpbUBvcmFjbGUuY29tMB4XDTEzMDkxNjA3NTUxM1oXDTE0MDkxNjA3NTUxM1ow
RTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRQwEgYDVQQKEwtFbmdpbmVlcmlu
ZzETMBEGA1UEAxMKb3JhY2xlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAMIeHUcytbaj2+5fVZ6z/0OYgOod9XdI4N8DYVqEqdtq4es51Pm671/f
tiVUZ2YBGug5E2JcE934Gidt5Duz9SKck++31Q2Aq4pfPFR1VmzMSdC5AkzqaY1O
SaiqKc9v6xlzol7OoXze6kuvCdXYKkbXA1y3JZ2G+7N45gJRFOc8VifGinyFtWM7
EJfHHEUCj4QTWossYALE9AKx0diXguWfEVAK/nCH0Jz7echZ8gkCyiLvVS7eBWaC
n6jRJ3yqQY5NNg7cjJ9jzz3i8DO7ptct9EW2fFjHxrVenkKBPYnSCp6jjboZohch
mKtDsQcujdWLOiijms29XVs8rPfZQIkCAwEAAaOCARMwggEPMAkGA1UdEwQCMAAw
HQYDVR0OBBYEFKXgEWNTby+bYk28P1TYn8FzeS6uMIGyBgNVHSMEgaowgaeAFFzJ
QLKUgEaLYxm609ztFTz1Cj7poYGDpIGAMH4xEzARBgNVBAMTCm9yYWNsZS5jb20x
CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UEBxMHUmVkd29vZDEUMBIG
A1UEChMLRW5naW5lZXJpbmcxJTAjBgkqhkiG9w0BCQEWFnlvbmcuc3Uua2ltQG9y
YWNsZS5jb22CCQDnuG6a4/GlbzAuBglghkgBhvhCAQQEIRYfaHR0cHM6Ly93d3cu
c2lhbC5vcmcvY2EtY3JsLnBlbTANBgkqhkiG9w0BAQUFAAOCAQEApC57jILGN822
n9PSltSfWE03uOLlXaqWZZaPI08inmxe+5eyG2ugufmoNSfiP/syN3HemDSJTrUW
vG2yX6B5xQ7/4Ewqof1ONXbz7RbvVCvpgBfWvCX2sB07GJB54O5Wl++v0MqCRtjb
VOqoY2vo2CPQQEFVS563DJCFPlywR9oLGg8iF/ZR0I+5vcjG5+2kAQqRqABcrNW2
gB+181I7jDN98RHjMY+ggSU1TZdBxrt7dhdg0CH0Sdsb/+nQyrwJeWxMd53SwEre
0LvGPhTz/1ugK7MOhZk0Uv+AtfBb0IGiVdoc+ZNnhUK5WOTfK/oxhSHBsPHqLNJn
d+K+igt0Lw==
-----END CERTIFICATE-----;

Certificate imported successfully....
WARNING: Configuration changed, run "save-config" command.

5.2. save와 activate를 합니다.
save-config
activate-config

[Linux] How to install APM(Apache, PHP, MySQL)

For Ubuntu

Apache2.4.x installation
1.APR(Apache Portable Runtime) installation
  ./configure
  ./make
  ./make install
2.APR-Util installation
  ./configure —with-apr=/usr/local/apr
  ./make
  ./make install
 3.PCRE(Perl Compatible Regular Expressions) installation
  ./configure
  ./make
  ./make install
4.Apache installation
  ./configure --prefix=/home/www/apache2 --enable-module=so --enable-mods-shared-all --enable-so --enable-rewrite --enable-sll
  ./make
  ./make install
  cd /usr/local/apache2/bin
  ldd httpd

Mysql5.1.x installation
  apt-get install ncurses-dev
  apt-get install ncurses-
  ./configure --prefix=/usr/local/mysql --enable-shared --enable-assembler
  ./make
  ./make test (You can get some errors)
  ./make install

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all  -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/usr/local/mysql

PHP5.5.x installation
  ./configure nodep
  ./configure  --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-shared
  ./make
  ./make test

  ./make install

2014-01-07

해외 송금시 비용

신한은행의 경우
필요한 정보:
  • 성명, 주소, 전화번호, 계좌정보, 은행명, 은행코드, 은행주소, 은행지점명
수수료:

  • 송금수수료(10,000원), 전신수수료(8,000원), 해외은행수수료(20불) 
만약 10만원 이하를 송금한다면 수수료가 거의 반을 차지하기 때문에 일반적인은 해외 송금을 하면 손해를 보는 느낌이 들 것입니다. 그러나 하나은행에서 PayPal을 이용한 해외 송금서비스를 제공하니 소액일 경우에 이용해 보십시오. (수수료: 송금액 약 1%)

저는 아직 이용해 보지 않아서 어떨지는 모르겠네요.