2015년 3월 26일 목요일

라즈베리파이 RF 홈 오토메이션 (2)

우리집은 오래된 단독주택이다.

집앞 대문에서 벨을 누르면 집 안에서 버튼 꾹~ 눌러주고 대문이 찌~잉 하면서 문이 열리는.

근데 이게 요즘같은 현관문 비밀번호로 여는 새상에 키를 가지고 대문을 열어야 한다니...

아주 마음에 안들고 귀찮았다.

난 프로그래머고 전자공고를 나왔으며( 맨날 잠만 잤지만 ) 하고자 하는 일은 하는 성격이다.

그래서 원래는 이 글을 여러 편으로 적으면서 집 안의 전등들을 원격으로 제어하는 글을 적으려 했지만 대문제어를 먼저 했다.

준비는 다음과 같았다.

1. 네트워크와 연결된 라즈베리 파이.
2. 5V로 동작하는 220V 릴레이 모듈 
3. 전기선.
4. 라즈베리파이에서 돌고 있을 C 서버 프로그램.
5. 안드로이 프로그램.


동작원리.
1. 안드로이드에서 문열림 버튼을 누르고 있는다.
2. 안드로이드에서 네트워크를 통해 우리집 공유기로 신호가 간다.
3. 공유기에서 라즈베리파이로 접근.
4. 라즈베리 파이에서 돌고있는 서버는 소켓으로 연결되어 특정 신호 캐치.
5. 라즈베리 파이가 5V 신호로 220V릴레이 모듈 ON
6. 대문 찌~잉 문열리는 전류 들어옴.
7. 안드로이드 버튼에서 손꾸락 땜.
8. 2~4번 같은 동작
9. 라즈베리 파이가 5V 신호로 220V릴레이 모듈 OFF
끝.

뭐 처음 어떻게 해야하지? 이게 어려웠지 별거 없었음.


대문제어 한 김에 집 현관 비밀번호 키, 전등 들도 전부 하려고 하는데..

생각했던 RF 릴레이 모듈로만 하긴 힘들다는걸 알았다.

이유는 RF 통신을 너무 모르고 있었다는데 있는데
RF통신은 송신기 수신기가 있고 송신기가 보내는 신호는 범위 내에 있는 모든 수신기가 수신을 한다.
무전기 누가 말하면 근처에 있는 사람들 다 들리는것 처럼.
근데 각 컨트롤할 현관 혹은 전등에서는 보내는 신호중 자기것만 필터링 해야 하는거지..
그래서 RF 통신 수신기 + Arduino Nano V3.0 셋트로 가려고 알아보고 있음.

조금더 알아보고 구입 내역 기록 하겠다.

2015년 3월 25일 수요일

SELinux 설정관련

SELinux 관련 문제 해결방법

1. SELinux 기능 끄기와 켜기
 
    1) 설정파일
  /etc/sysconfig/selinux 파일에 설정이 있으며

SELINUX 지시어의 값을 변경하면 된다.
켜기 : # SELINUX=enforcing
끄기 : # SELINUX=disabled

# 참고

SELINUX 지시어는 enforcing,permissive,disabled 세가지가 있으며
enforcing : 보안정책을 적용시킨다는 뜻이다
permissive : enforcing시 발생하는 경고메세지를 출력하는 모드이다
    disabled  : 보안정책을 사용하지 않는다는 뜻이다

SELINUXTYPE 지시어는 정책 적용방싱르 나타네며 targeted, strict 두가지가 있다
targeted : 네트웍 데몬에 대해서 보안정책을 적용하는 것
    strict  : 시스템전체에대해 보안정책을 적용하는 것이다


    2) 명령어
setenforce 라는 명령를 이용하여 SELinux를 켜고 끈다
setenforce의 경우 boolean 값을 갖는다.
켜기 : # setenforce 1
끄기 : # setenforce 0

    3) 부팅옵션에 추가
grub.conf에 부팅옵셩을 줘서 설정할수 있다
켜기 : selinux=1
끄기 : selinux=0


2. SELinux관련 파일, 프로세서에 대한 태그확인 

      SELinux의 경우 보안태그 또는 라벨링을 통해 해당 파일이나 디렉토리분아니라 자원에 대한 엑세스 허용 여부를 결정한다
         
  파일 상의 보안태그 또는 라벨링확인 방법
# ls -Z
-rw-------  root root system_u:object_r:user_home_t:s0 anaconda-ks.cfg
drwxr-xr-x  root root system_u:object_r:user_home_t:s0 bin
drwxr-xr-x  root root system_u:object_r:user_home_dir_t:s0 conf
-rw-r--r--  root root root:object_r:user_home_t:s0    install.log
-rw-r--r--  root root root:object_r:user_home_t:s0    install.log.syslog

  프로세서상의 보안태그 또는 라벨링
# ps axZ | grep squid
user_u:system_r:squid_t 3912 ? Ss 0:00 squid -D
user_u:system_r:squid_t 3915 ? S 9:10 (squid) -D
user_u:system_r:squid_t 3916 ? Ss 0:01 (unlinkd)

SELinux의 현제 상태를 확인하기 위해서는

적용이 안된상태  : # sestatus -v
SELinux status:                disabled

적용이 된 상태    : # sestatus -v
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 18
Policy from config file: targeted

Policy booleans:
allow_ypbind active
dhcpd_disable_trans inactive
httpd_disable_trans active
httpd_enable_cgi active
httpd_enable_homedirs active
httpd_ssi_exec active
httpd_tty_comm inactive
httpd_unified active
mysqld_disable_trans inactive
named_disable_trans active
named_write_master_zonesactive
nscd_disable_trans active
ntpd_disable_trans inactive
portmap_disable_trans inactive
postgresql_disable_transinactive
snmpd_disable_trans inactive
squid_disable_trans inactive
syslogd_disable_trans inactive
winbind_disable_trans inactive
ypbind_disable_trans inactive

Process contexts:
Current context: root:system_r:unconfined_t
Init context: user_u:system_r:unconfined_t
/sbin/mingetty user_u:system_r:unconfined_t
/usr/sbin/sshd user_u:system_r:unconfined_t

File contexts:
Controlling term: root:object_r:devpts_t
/etc/passwd root:object_r:etc_t
/etc/shadow system_u:object_r:shadow_t
/bin/bash system_u:object_r:shell_exec_t
/bin/login system_u:object_r:bin_t
/bin/sh system_u:object_r:bin_t -> system_u:object_r:shell_exec_t
/sbin/agetty system_u:object_r:sbin_t
/sbin/init system_u:object_r:init_exec_t
/sbin/mingetty system_u:object_r:sbin_t
/usr/sbin/sshd system_u:object_r:sbin_t
/lib/libc.so.6 system_u:object_r:lib_t -> system_u:object_r:shlib_t
/lib/ld-linux.so.2 system_u:object_r:lib_t -> system_u:object_r:ld_so_t


3. SELinux관련 트러블슈팅 

      이부분은 실제 트러블 슈팅이라 하기에는 애매한 부분이 있다
      정확하게 알고사용하면 문제된 부분이 없는데 모르기때문에 설정을 안하고 넘어가고
      잘못하고 넘어가기에 발생하는 분제들이다 .

      1) 심볼릭 링크상 관련 문제
  dereference가 되면서 보안상의 문제가 발생하기에 읽어들 일 수 없는 경우가 발생한다 .
  # chcon -h [filename]

      2) 아파치의 403에러
보통 홈디렉토리를 옮기거나 기본경로가 아닐때
                그리고 백업대이터를 이용하여 복구하였을때 많이 나타나는현상입니다
이경우 보안태그 또는 라벨링이 정상적으로 붙지않아 발생하는 경우이다

Context 설정을 설정파일상에 적용되어 있는 보안태그 또는 라벨링을 복원해주는 방법이다
# restorecon -rv /home

단 이경우에는 기존의 템플릿이나 설정파일에 설정이 되어있어야 가능하다 .

템플릿이나 설정파일을 직접 수정하기에 문제 있는 경우
# chcon -R -t httpd_sys_content_t /home/locli/public_html


# 참고
/etc/selinux/targeted/contexts/files/file_contexts
일반적인 파일에 대한 설정 (/etc , /lib , /var등과 같이 설정 ,실행 ,라이브러리, 로그파일등에 대한 설정)
/etc/selinux/targeted/contexts/files/file_contexts.homedir
홈디렉토리의 파일에 대한설정
/etc/selinux/targeted/contexts/files/homedir.templete
홈디렉토리의 파일에 대한설정의 템플릿 파일
 
      3) php 및 cgi 등의 프로그램에서 외부파일을 불러오지 못하는 경우
이 경우는 SELinux에 의해 아파치에서 네트웍 자원을 엑세스하지못해 발생하는 문제이다 .
간단한 예를 들자면 php에서 원격 DB를 엑세스하지못하는경우
        # setsebool -P httpd_can_network_connect_db on

# 참고
setsebool 명령어를 사용하여 할경우 -P옵선을 주게되면 설정파일에 반영되어 리부팅후에도 설정 값이 사라지지 않는다.

      4) /etc/vsftpd/vsftp.conf를 수정했는데도 불구하고 500 에러가 나오면서 접속이 안될 경우
# setsebool -P ftp_home_dir=1

      5) annot restore segment prot after reloc: Permission denied
rpm 으로 설치된 라이브러리에서 발생하는경우는 드물다  주로 소스 컴파일을하거나 사용자가 만들 rpm 파일에서 발생한다 .
간단하 예를 들자면 php의 모듈을 동적 컴파일로 올린경우 로드되지않을이다때
        물론 컴파일등은 에러없이 ㅤㄱㅡㅌ이난경우이다.
# chcon -t texrel_shlib_t [so 라이브러리]


4. setsebool,chcon으로 설정가능한 항목 및 설정파일 
1) FTP 관련 설정

  기본경로 및 홈디렉토리 이외에 다른경로 또는 익명의 사용자가 ftp를 이용할경우
# chcon -R -t public_content_t /var/ftp

  익명의 ftp사용자에게 쓰기 권한을 허용할 경우

  특정경로에 보안태깅 및 라벨링을 하여 허옹
# chcon -t public_content_rw_t /var/ftp/incoming

  불린값으로 허용
# setsebool -P allow_ftpd_anon_write=1

  설정파일에 추가하여 허용
/etc/selinux/POLICYTYPE/contexts/files/file_contexts.local
/var/ftp(/.*)? system_u:object_r:public_content_t /var/ftp/incoming(/.*)?

    system_u:object_r:public_content_rw_t

  기본경로의 홈디렉토리가 아니거나 커스트마이징이 된 정책을 사용할경우
# setsebool -P ftp_home_dir 1

  ftp만 SELinux 정책에서 제외해야할경우
# setsebool -P ftpd_is_daemon 1

  데몬 실행중에 ftp만 SELinux 정책에서 제외해야할경우 :
# setsebool -P ftpd_disable_trans 1 

2) HTTP 관련 설정

정의되어 있는 태깅 및 라벨링 명

    httpd_sys_content_t  : 아파치의 모든 스크립트와 데몬에서 제공되는 모든 콘텐츠에 대한 설정
    httpd_sys_script_exec_t  :  CGI실행을 허용 여부에 대한 설정
    httpd_sys_script_ro_t  :    httpd_sys_script_exec_t 실행시 읽기 전용으로 사용 설정.
    httpd_sys_script_rw_t  :    httpd_sys_script_exec_t 실행시 읽기/쓰기 전용으로 사용 설정.
    httpd_sys_script_ra_t  :    httpd_sys_script_exec_t 실행시 읽기/append 전용으로 사용 설정
    httpd_unconfined_script_exec_t : SELinux 보호 설정에 보호받지 않고 실행하기위한 설정


설정 예제)

멀티 도메인 하에 운영중인 서버에 정상적인 업로드를 지원하기위한 설정
# setsebool -P allow_httpd_anon_write=1
.. or ..
# setsebool -P allow_httpd_sys_script_anon_write=1

CGI 사용여부 결졍
# setsebool -P httpd_enable_cgi 1

기본경로의 홈디렉토리가 아니거나 커스트마이징이 된 정책을 사용할경
# setsebool -P httpd_enable_homedirs 1
.. OR ..
# chcon -R -t httpd_sys_content_t ~user/public_html

터미널을 엑세스 하기위한 설정
# setsebool -P httpd_tty_comm 1


# setsebool -P httpd_unified 0

php같이 모듈로 컴파일된 언어를 막기위한 설정
# setsebool -P httpd_builtin_scripting 0

네트웍 엑세스 허용 여부 설정
# setsebool -P httpd_can_network_connect 1

suexec 허용여부에 대한 설정
# setsebool -P httpd_suexec_disable_trans 1

httpd 데몬에 대해 SELinux 보호설정을 제외시킬때
# setsebool -P httpd_disable_trans 1
# service httpd restart

3) RSYNC 관련

특정 디렉토리의 rsync 허용방법
# chcon -t public_content_t /var/rsync

rsync 사용시 스기 허용
# setsebool -P allow_rsync_anon_write=1

rsync 데몬에 대해 SELinux 보호설정을 제외시킬때
# setsebool -P rsync_disable_trans 1
# service xinetd restar

4) named 관련

마스터의 zonefile을 업데이트하기위해
# setsebool -P named_write_master_zones 1

named 데몬에 대해 SELinux 보호설정을 제외시킬때
# setsebool -P named_disable_trans 1
# service named restart

5)  nfs 관련

읽기 전용 모드로 export 할 경우
# setsebool -P nfs_export_all_ro 1

일기/쓰기 모드로  export 할 경우
# setsebool -P nfs_export_all_rw 1

nfs로 원격서버의 스토리지를 마운트할경우
# setsebool -P use_nfs_home_dirs 1

6)  smb 관련

smb 를 이용할 데렉토리 설정
# chcon -t samba_share_t /data/share
.. or ..
vi /etc/selinux/POLICYTYPE/contexts/files/file_contexts.local
......
          /data/share(/.*)? system_u:object_r:samba_share_t

공유 파일의 쓰기원한을 주기위한 설정
# setsebool - P allow_smbd_anon_write=1

smb mount를 혀용할 때
# setsebool -P samba_enable_home_dirs 1
# setsebool -P use_samba_home_dirs 1

smb 데몬에 대해 SELinux 보호설정을 제외시킬때
# setsebool -P smbd_disable_trans 1
# service smb restart

7) ypbind의 사용을 허용하기위한 설정
# setsebool -P allow_ypbind 1

8) kerberos 관련
kerberos 사용을 허용 할 경우
# setsebool -P allow_kerberos 1

kadmind or krb5kdc 데몬에 대해 SELinux 보호설정을 제외시킬때
# setsebool -P krb5kdc_disable_trans 1
# service krb5kdc restart
# setsebool -P kadmind_disable_trans 1
# service kadmind restart


5. 로그의 형식 

로그의 경우 messege, audit 로그에 남게된다
형식은 아래의 로그와 같다.
May 10 00:39:53 server kernel: audit(1178725193.534:53): avc:  denied  { name_connect } for  pid=4178 comm="httpd" dest=3306 scontext=user_u:system_r:httpd_t:s0 tcontext=system_u:object_r:mysqld_port_t:s0 tclass=tcp_socket

audit(timestamp) 로그가 기록되는 시간을 나타낸다
avc -- This message was from the SELinux access vector cache. Pretty much every message you are likely to see is from this cache.
denied | accepted 정첵에 의해 차단되었는지 허용되었는지를 나타낸다.
{ read | write | unlink | ... } 타입을 나타댄다 . 파일인지  파일이면 읽기,쓰기 ....
for pid : 해당 프로세서의 pid를 나타낸다.
exe= -- This is the path to the executable that started the process.
name= -- This is the name of the target on which the action was attempted.
dev= -- This is the device on which the target file is located.
ino= -- This is the inode of the target of the action.
scontext= -- This is the process's security context. This contains user, role, and type.
tcontext= -- This is the security context of the target of this action, for example, the file, directory, etc.
tclass= -- This is the class of the target object, such as directory, file, device node, or something else.



6.  마무리 
시스템 설치후 SELinux를 내리는 것이 제일먼저하는 일이었다
하지만 언제부터인가 SELinux를 사용하고 있는 업체들이 보여 내리자고만 할 수 가 없었다
물런 그런 업체들의 서버를 관리하는것은 아주짜증나는일이었다
성능저하만 시키고 설정하기 힘들게 되어있고  하지만 각 파일들에 대한 액세스 권한이
보다 세부적으로 나누어지고  서비스나 데몬의 크래킹이 전체 시스템에 영향을주는
것보다는 훨씬  안전하다는 것을 느낀 이후  SELinux에 대해 호감 아닌 호감을 가지게 되었고
그러다보니  모름에 대한거부감이 사라졌다

하지만 아직도 이부분에 대해서는 완전히 다알지는 못했다
그리고  4번 항목의 경우도 완전한 테스트가 이루어지지 않은부분이다 .

보다 많은 학습이 필요한 부분이기도 하다

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1731

2015년 3월 10일 화요일

제물포 스마트 타운

인천에서 창업하려고 알아보던중 이런데도 있구나 하는곳이 있다.

JST. jemulpo smart town 의 약자인데 창업지원 및 사업장 임대등의 사업을 하는곳이다.

가끔씩 들어가서 정보를 보면 도움이 될것같다.

http://www.jst.or.kr/

인천 창업 무료 사무실

1. IT 관련 창업을 하려고 한다.

2. 위치가 인천이다.

3. 제물포쪽이어도 상관이 없다.

인천 정보산업 진흥원
http://www.inis.or.kr/

Sybase ASE 15.03 CentOs

이번 프로젝트에 사용할 DB 가  sybase 여서 32비트 centOS 환경에 설치를 하였다. 참고할 문헌이 많지를 않아 삽질도 좀 하고... ㅋㅋㅋ

1. 현재 15.7 버전인가가 최신 버젼인데 본 버젼은 linux 64비트만을 지원함으로 아랫 버젼을 찾던중 32비트 지원하는 버전인 15.03 을 인스톨 하게 되었고 google에서 sybase ASE 15.03 으로 찾을시 찾을수 있다.

2. 다운로드후 tar -xvzf 로 파일 압축을 푼다.

3. ./setup.bin 파일이었나.. ./setup이었나 ㅋㅋ 무튼 ./setup.bin -console 로 콘솔창으로 설치 실행

4. 설치할 파일 패스를 설치하고 거의 모든 내용을 디폴트로 설치. 설치에 관한 내용은 구글에서 검색시 나온다.

5. 설치가 완료된후 /설치한 폴더/ASE-15_0/install 안에 RUN_LOCALHOST or RUN_설정 명 등으로 RUN_ 으로 시작하는 파일이 있다면 정상 설치가 완료 된 것이다. 하지만 나의 경우는 그렇지 않았다. 그래서 삽질을 해본결과 파일 패스가 등록 되지 않았다. 전체적인 문제가 여기에 있는지는 파악하지 못하였으나 결과론적으로 성공은 하였으므로.

6. cd /설치한 폴더

7. source ./SYBASE.sh   할경우 설치한 폴더에 맞게 생성된 path가 들은 SYBASE.sh 의 내용을 쉘의 환경 변수에 추가한다.   걍 sh ./SYBASE.sh 할경우 하위 쉘을 생성후 환경변수에 추가하고 실행한 쉘을 닫아버리므로 그렇게는 하지말자. 삽질하지 말고.

8. 환경변수를 등록했으면 RUN_ 으로 시작하는 파일을 만들어 주는 빌더를 실행 해야 한다.

9. cd /설치한폴더/ASE-15_0/bin 빈 폴더로 가면 srvbuilders 라는 파일이 있다. 본 파일이 RUN_ 파일을 만들어 주는데 본파일을 실행 하려면 source 파일로 .rs 파일을 넣어주어야 한다    ./srvbuilders -r 소스파일.rs    이렇게.

10. srvbuilders 에서 사용할 소스파일을 만든다.
아래를 보면 알겠지만 디비 파일을 경로를 설정하는데 설정하기전 mkdir 을 이용하여 파일들 이 만들어질 폴더를 만들어 줘야 그 안에 .dat 로 디비가 만들어진다.
ex)

ybinit.release_directory: USE_DEFAULT
sybinit.product: sqlsrv
sqlsrv.server_name: ASE1  <!-- 서버 이름 -->
sqlsrv.new_config: yes
sqlsrv.do_add_server: yes
sqlsrv.network_protocol_list: tcp
sqlsrv.network_hostname_list: localhost <!-- 호스트 이름 -->
sqlsrv.network_port_list: 4000 <!-- 오픈할 포트 -->
sqlsrv.server_page_size: USE_DEFAULT
sqlsrv.force_buildmaster: no
sqlsrv.master_device_physical_name: /var/sybase/ASE1/master.dat  <!-- 디비파일 -->
sqlsrv.master_device_size: 60
sqlsrv.master_database_size: 30
sqlsrv.errorlog: /opt/sybase/admin/ASE1/errorlog  <!-- 에러 로그 -->
sqlsrv.do_upgrade: no
sqlsrv.sybsystemprocs_device_physical_name: /var/sybase/ASE1/sybsystemprocs.dat <!-- 프로시저 -->
sqlsrv.sybsystemprocs_device_size: 150
sqlsrv.sybsystemprocs_database_size: 150
sqlsrv.sybsystemdb_device_physical_name: /var/sybase/ASE1/sybsystemdb.dat  <!-- 시스템 디비 -->
sqlsrv.sybsystemdb_device_size: 20
sqlsrv.sybsystemdb_database_size: 20
sqlsrv.default_backup_server: SYB_BACKUP
sqlsrv.addl_cmdline_parameters:
11. 상위 .rs 파일은 구글에 sybase srvbuildres 라고 검색시 참고할 페이지들이 나온다.
준비가 끝났으면 ./srvbuildres -r 만든 파일명.rs 로 실행

12. 실행시 쭉쭉 진행하다 나같은 경우 starting.... 에서 오류를 내뿜었다. 오류 내용이 뭔지는 기억이 잘 안나지만 찾아본 결과 본 상태에서 오류가 나오는 경우는 거의 대부분 shared memory 쪽 문제로 확인했으며 google에서 shmmax 로 검색시 참고할수 있는 내용들이 있다.

13. 상위 메모리 문제를 해결후 다시 빌드를 하면 서버가 시작되고 /설치한 폴더/ASE-15_0/install/showserver 를 실행시 현재 실행되고 있는 서버의 정보가 뜬다면 sybase 실행에 성공 한 것이다.

14. 여기까지 안될경우 다른 자료를 참고하라.

15. 상위 까지는 로컬에서의 연결에 성공한 것이고 외부에서 접근 하려면 아래의 작업이 따라줘야 한다.

---- 이후부터 /설치폴더  == /opt/sybase 로 한다.  ----
16. $ cd /opt/sybase/ASE-15_0/install
     $ cp RUN_만들어진 파일이름 RUN_자신의 아이피(ex 192.168.0.2)
     $ vi RUN_192.168.0.2
/opt/sybase/ASE-15_0/bin/dataserver \
-d/var/sybase/ASE1/master.dat \
-e/opt/sybase/admin/ASE1/192.168.0.231.log \
-c/opt/sybase/ASE-15_0/ASE1.cfg \
-M/opt/sybase/ASE-15_0 \
-s192.168.0.231 \

위와 같이 아이피가 있는부분처럼 변경

17. $ vi /opt/sybase/interfaces

ASE1
        master tcp ether 192.168.0.231 4000
        query tcp ether 192.168.0.231 4000

위와같이 아이피로 변경


18. 재부팅 혹은 sybase 정지후 /opt/sybase/ASE-15_0/install/RUN_원래있던이름 으로 실행  (RUN_아이피  로 실행시 오류)

19. 실행이 이상없이 끝났다면 netstat -naptl 로 포트 확인한다.   자신의아이피:열려던 포트    나오면 이상무.

20. 외부에서 접근이 안될시 iptable(리눅스방화벽) 에의해 막힌것이다. 이것은 각자 공부.

난 이렇게 해서 sybase 셋팅에 성공했다. 중간에 다른 시스템에서는 걸리는 부분이 있을수도 있다. 그럴경우... 알아서 공부.. ㅋㅋㅋ

2015년 3월 9일 월요일

ERWin 리버스엔지니어링 한글 컬럼

구글에 리버스엔지니어링 방법 및 코멘트를 사용하여 한글 컬럼을 표시하는 방법은 많이 있으나 코멘트가 없을경우 영어 컬럼 명 그대로 사용하는 방법등이 없어 해결한 내용을 남긴다.


다른내용은 다 같고


해당 화면에서 %ColumnComment 가 아닌
%If (%ColumnComment) {%ColumnComment} %Else {%AttFieldName}
해당 내용 사용. 

2015년 3월 5일 목요일

burp suite ( 웹 프록시 툴 )

1. 설명 : 웹 서버 <-> 클라이언트 사이에서 클라이언트 측에 깔리는 프로그램으로 클라이언트 측에서 행하려는 웹 접근을 해당 프록시 프로그램을 통해서 우회 접근 하도록 한다.
해당 툴을 이용하여 통신 내용 확인 가능.

2. 다운로드 사이트
   http://portswigger.net/

3. 실행방법
   java -jar burpsuite_free_v1.6.jar

4. 사용방법
   A. 브라우저의 프록시 설정
   































    B. Intercept is on 클릭시 통신내용 가로챔.
       Intercept is on 상태에서 Forward 클릭시 다음 요청으로 넘어감.