2010. 12. 17.
[UX] 사용자 경험 스케치
그동안 웹에서의 UX 책들만 읽어왔는데, 이 책은 제품자체에 대한 UX뿐 아니라 보다 넓은 범위에서의 UX를 포함을 하고 있다. 디자이너의 입장에서 바라본 프로세스 부분 중에서 기획과 디자인, 개발의 진행도를 그림으로 보여주며 이해시키는 부분이 인상깊다. 역시 많은 그림을 통한 설명이 이해를 도왔고 읽는데 지루하지 않다. 더구나 스케치와 초기 프로토타입을 제작하는 디자인 방법론은 가장 흥미있는 부분이었다. 개발자로서 읽어도 많은 깨달음을 얻을 수 있는 책이라고 생각한다.
[cacti] ERROR: Cannot connect to MySQL server on 'localhost'.
log/cacti.log 에 다음과 같은 로그가 남았다면...
12/17/2010 07:00:10 PM - CMDPHP: Poller[0] ERROR: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'.
solution
[cacti] how to install cacti on CentOS 5.X 64bit
Install the software
# yum install mysql-server mysql php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-snmp php-pear-Net-SMTP php-mysql httpd
# mysql -u root -p
Enter password: **********
mysql> create database cacti;
mysql> use mysql;
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'password';
mysql> FLUSH privileges;
mysql> quit
# yum install net-snmp-utils php-snmp net-snmp-libs
# vi /etc/snmp/snmpd.conf
------------> append <----------------
.
.
com2sec local localhost public
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
view all included .1 80
access MyRWGroup "" any noauth exact all all none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root (configure /etc/snmp/snmp.local.conf)
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
(output)
IP-MIB::ipAdEntIfIndex.your.ip.address = INTEGER: 2
IP_MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
Install cacti
download cacti-0.8.6i.tar.gz in /usr/local/src
# tar xzfv cacti-0.8.6i.tar.gz
# cp -Rf cacti-0.8.6i /usr/local/cacti/
# ln -s /usr/local/cacti/ /usr/local/apache/htdocs/cacti
# vi /usr/local/cacti/include/config.php
--------------->modify<------------------
#database_type = "mysql";
#database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti";
$database_password = "password";
$database_port = "3306";
------------------------------------------
# mysql -u root -p cacti < /usr/local/cacti/cacti.sql
Configure crond
# crontab -e
-------------->append<----------------
*/5 * * * * php /usr/local/cacti/poller.php > /dev/null 2>&1
----------------------------------------
# service crond restart
Install cacti web console
go to http://your.ip.address/cacti/
click 'Next'
choose 'New Install' and click 'Next'
if all of Path is [FOUND], click 'Finish'
if you show "[NOT FOUND] PHP Binary Path", install php-cli
# yum install php-cli
Username: admin
Password: admin
reference site
cacti plug-in
install cacti
install cacti
more specific information about cacti
[rrdtool] how to install rrdtool on CentOS 5.X 64bit
2010. 12. 1.
[CentOS] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
참고사항
[CentOS] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Mysql을 설치하고 데몬을 실행하려고 하는데 다음과 같은 에러가 뜬다면 이렇게 해보세요~
# /usr/local/mysql/bin/mysqladmin --version
ERROR 2002: Can't connect to local MySQL server through
socket '/tmp/mysql.sock' (2)
2010. 11. 30.
linux mount
2010. 11. 21.
how to check memory usage of memcached
2010. 10. 14.
[CentOS]call to undefined function mysql_connect
2010. 10. 13.
[PHP] how to install memcached on Windows XP
2010. 10. 12.
[PHP] 정규식으로 한글 영어 숫자 추출하기
$str = 'abc!@하나둘셋#123';
echo $str;
preg_match_all($pattern, $str, $match);
$str = implode('', $match[0]);
echo $str;
==================
abc!@하나둘셋#123
abc하나둘셋123
한글과 영어 숫자를 제외한 나머지문자는 무시하게 된다.
2010. 10. 11.
[CentOS] how to install mongodb in 64bit centos
[10gen] name=10gen Repository baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/x86_64/ gpgcheck=0
# vi /etc/mongod.conf
logpath=/var/log/mongo port=27017 dbpath=/var/lib/mongo
# chown -R mongod:mongod /var/lib/mongo/
# /etc/init.d/mongod start
# chkconfig --levels 235 mongod on
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
[CentOS] how to install memcached in 64bit centos
# wget http://monkey.org/~provos/libevent-1.3e.tar.gz
# tar zxpfv libevent*
# cd libevent*
# ./configure
# make install
# vi /etc/memcached.conf
# chmod +x /etc/memcached.conf
# vi /etc/init.d/memcached
# chmod +x /etc/init.d/memcached
# vi /usr/local/bin/start-memcached
# chmod +x /usr/local/bin/start-memcached
# /etc/init.d/memcached restart
# /sbin/chkconfig memcached on
# /sbin/chkconfig --list | grep memcached
[CentOS] php에서 memcache 설치하기
# tar xzfv memcache-2.2.4.tgz
# cd memcache-2.2.4
# phpize
# ./configure --enable-memcache
# make
# cp modules/*.* /usr/lib64/extensions/no-debug-non-zts-20060613/
# vi /usr/local/apache/conf/php.ini
mongo 설치하는거때문에 신경 많이 쓰였는데 의외로 쉽게 설치가 되었군요.
[MySQL] lower_case_table_names 세팅하기
2010. 10. 8.
[CentOS] php version update 5.1 to 5.2
1. 현재 설치된 버전 확인
# rpm -qa |grep php
php-common-5.1.6-15.el5.i386
php-cli-5.1.6-15.el5.i386
php-5.1.6-15.el5.i386
php-pdo-5.1.6-15.el5.i386
php-bcmath-5.1.6-15.el5.i386
php-ldap-5.1.6-15.el5.i386
php-devel-5.1.6-15.el5.i386
php-gd-5.1.6-15.el5.i386
php-xml-5.1.6-15.el5.i386
php-mbstring-5.1.6-15.el5.i386
php-mysql-5.1.6-15.el5.i386
php-dba-5.1.6-15.el5.i386
2. update 하기 위해 파일 생성
# vi /etc/yum.repos.d/CentOS-Testing.repo
--------------------------------------------------------------------------
# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*
--------------------------------------------------------------------------
3. 업데이트 하기
# rpm -qa |grep php
# yum update
# service httpd restart
[CentOS] mysqli 설치
2010. 10. 3.
[MySQL]skip-name-resolve
skip-external-locking
skip-host-cache
skip-locking
skip-name-resolve
[MySQL]Too Many Connection Error
show variables like '%connect%';
show variables like '%thread%';
show status like '%thread%';
show status like '%connect%';
======================================================================
show status like 'Threads_created';
show status like 'Connections';
Cache Miss Rate(%) = Threads_created / Connections * 100
show status like 'Aborted_connects';
show status like 'Connections';
Connection Miss Rate(%) = Aborted_connects / Connections * 100
show status like 'Threads_connected';
show variables like 'max_connections';
Connection Usage(%) = Threads_connected / max_connections * 100
==========================================================================
2010. 9. 20.
[CentOS] 아파치 2개 이상 설치한 경우 해결책
2010. 9. 19.
mysql 접속자 수 늘리기
set-variable=max_connections=200 ---> 다음 한 줄을 추가한다.
# mysqld_safe -O max_connection=200 &
netstat 사용법
LocalAddress는 사용자의 IP주소이고..
Foreign Address는 상대 IP주소이고..
State는 현재 상태입니다.
State가 Lisen?이면 포트가 열려가 누군가가 접속하기를 기다리는 중입니다.
만약 님이 웹서핑을 하게 된다면 그 주소까지도 나오게 됩니다.
모든 정보가 누군가가 해킹을 하려고 접속시도를 하는건 아니지요.. ^^;
해킹을 막을려면 방화벽을 설치하는걸 권해 드립니다.
해킹 시도를 하는건 열려있는 특정포트로 접속을 해서 하게 되는데..
방화벽은 포트를 막아 버립니다.
(고급 해커는 방화벽도 뚫습니다.. ^^)
바이러스도 해킹을 위한 바이러스는 포트를 열게 됩니다.
이른바 백도어라고 하지요..
netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)
포트스캔 명령어로 확인 하는 방법
# TCP 포트 확인 방법
nmap -sT -p 1-65535 localhost
# UDP 포트 확인 방법
nmap -sU -p 1-65535 localhost
# 네트워크에 열린 포트 확인
nmap -sX -p 22,53,110 211.239.111.*
lsof 명령어로 확인 방법
# 모든 네트워크 소켓 확인
lsof -I
1. netstat : 현재 님 컴퓨터와 연결되었거나 연결될 목록을 프로토콜과 함께 보여주는 도스 명령어입니다.
2. netstat -a : 현재 님컴터와 연결되거나 연결될 목록을 프로토콜과 함께 모두 보여줍니다. -a 옵션이 없으면 연결된 목록만 보여주는데, -a 옵션을 주면 연결되었거나 연결을 기다리는 목록을 모두 보여줍니다.
3. netstat -n : 통상 연결 목록이 컴퓨터 이름이 나오는데, -n 옵션을 주면 컴퓨터이름대신 ip주소가 뜹니다.
4. netstats -an or -na : 둘다 같은 의미인데 님 컴퓨터와 연결되었던 혹은 연결을 기다리는 목록을 아이피주소로 바꾸어서 보여줍니다.
Command 모드에서 netstat를 사용하여 PC내의 악성 코드 여부를 확인할 수도 있다.
1. [시작버튼] > [실행]을 눌러서 cmd 라고 입력하여 Command 창을 띄운다.
<참고: CTRL+R 을 누르면 [실행]창이 바로 뜬다.>
<또 참고: Windows 98에서는 cmd 가 아니라 command 라고 해야 command 창이 나온다.>
2. netstat -an
이 명령어를 치면 아래 그림과 같은 메시지가 출력된다.
이 명령어를 치면 아래 그림과 같은 메시지가 출력된다.
앞에 보이는 IP주소(Local Address)는 로컬시스템(내 PC)의 IP주소이며 뒤의 IP주소(Foreign Address)는 나와 네트워크로 연결이 이루어진 시스템의 IP주소이다. (IP뒤의 ":숫자" 들은 포트 번호이다.)netstat 명령어는 현재 시스템과 네트워크로 연결이 이루어진 상태를 보여주는 명령어다.
자, 이제 분석 방법이다!(FPORT 블로그에서는 존댓말을 썼었는데 왜 갑자기 반말쓰냐고 욕하지는 마세요;)
먼저 위 메시지의 맨 끝 필드인 State 필드를 보자. ESTABLISHED는 연결되어있는 상태를 말하며 CLOSED는 이미 연결이 끊어졌음을 말한다. LISTENING은 현재 시스템에서 열려있는 포트를 말한다.
일단 LISTENING 이라고 되어있는 놈들은 본다. IP주소는 0.0.0.0으로 된 놈들이 많고 내 IP주소 몇개 안될것이다.
<참고: 0.0.0.0(네트워크 IP) - 이놈을 인식하지 못하면 인터넷을 못한다.>
<또 참고: 127.0.0.1(LocalHost IP) - 이놈은 자기를 스스로 가리킬때 사용하는 주소이다.>
Local Address 필드의 IP는 중요하지 않다. 어차피 거기는 내 컴퓨터의 정보만 나오니까. 중요한것은 LISTENING으로 되어있는, 다시말하면 "열려있는 포트"번호이다.
내 컴퓨터에 몇번 포트들이 열려있는지 살펴본 후에, 만일 그 포트로 접속한 놈이 있다면 90%는 뭔가 이상한 거라고 생각하면 된다.
예를 들어,
0.0.0.0:445 0.0.0.0:0 LISTENING
. . .
. . .
. . .
150.2.50.14:445 68.235.32.153:4461 ESTABLISHED
이렇게 보였다고 하자, 445 번 포트(0.0.0.0:445)가 현재 열려(LISTENING)있음을 알 수 있고,
아래에는 내 445번 포트로(150.2.50.14:445) 웬 68.235.32.153 이라는 놈이 접속(ESTABLISHED)했다는 것이 확 드러났다.
일반 개인 컴퓨터 이므로 누가 내 컴퓨터로 들어올일은 거의 없다! (P2P로 내 컴퓨터의 폴더가 공유되어 있다면 몰라도..)
아무튼 이런식으로 분석을 하면 되겠다.
그 외의 것들은 죄다 내가 상대방 컴퓨터로 접속한것을 나타내는 것이기 때문에 무시해도 된다. 물론, Reverse 해킹 방식이 있기는 하지만, 그걸 개인 컴퓨터에 적용할 정도로 무식한 크래커는 없을것이다.
netstat 명령어를 치시면 foreign address 라는 게 있죠.
그 곳에 아이피 : 숫자
일케 써있잖아요..
여기서 숫자는 포트라는것 입니다.
컴퓨터의 열려있는 창문이라고 생각하면 되죠.
트로이목마 프로그램이 침투하려면 그 프로그램이 침투할수 있는 고유의 창문 ,즉 포트가 열려있어야 합니다.
서버파일이란게 있는데 그 프로그램이 침투할수있는 포트를 여는 역할을 하죠.
여기서 아까 netstat 명령어 치면 나오는거..
아이피:숫자 있잖아요.
만약에
211.111.111.111 :12345
이렇게 됐으면 12345라는 포트에 211.111.111.111 이라는 아이피가 접속해있다는 겁니다.
12345라는 포트는 넷버스 1.70가 침투할수 있는 포트번호죠...
제가 여러 트로이목마 프로그램이 침투하는 포트번호들을 모아봤습니다.해커뉴스에서 펌
port 2 - Death
port 21 - Back Construction, Blade Runner, Doly Trojan, Fore, FTP trojan, Invisible FTP, Larva, MBT, Motiv, Net Administrator, Senna Spy FTP Server, WebEx, WinCrash
port 23 - Tiny Telnet Server, Truva Atl
port 25 - Aji, Antigen, Email Password Sender, Gip, Happy 99, I Love You, Kuang 2, Magic Horse, Moscow Email Trojan, Naebi, NewApt, ProMail trojan, Shtrilitz, Stealth, Tapiras, Terminator, WinPC, WinSpy
port 31 - Agent 31, Hackers Paradise, Masters Paradise
port 41 - DeepThroat
port 48 - DRAT
port 50 - DRAT
port 59 - DMSetup
port 79 - Firehotcker
port 80 - Back End, Executor, Hooker, RingZero
port 99 - Hidden Port
port 110 - ProMail trojan
port 113 - Invisible Identd Deamon, Kazimas
port 119 - Happy 99
port 121 - JammerKillah
port 123 - Net Controller
port 133 - Farnaz, port 146 - Infector
port 146 (UDP) - Infector
port 170 - A-trojan
port 421 - TCP Wrappers
port 456 - Hackers Paradise
port 531 - Rasmin
port 555 - Ini-Killer, NeTAdministrator, Phase Zero, Stealth Spy
port 606 - Secret Service
port 666 - Attack FTP, Back Construction, NokNok, Cain & Abel, Satanz Backdoor, ServeU, Shadow Phyre
port 667 - SniperNet
port 669 - DP Trojan
port 692 - GayOL
port 777 - Aim Spy
port 808 - WinHole
port 911 - Dark Shadow
port 999 - DeepThroat, WinSatan
port 1000 - Der Spacher 3
port 1001 - Der Spacher 3, Le Guardien, Silencer, WebEx
port 1010 - Doly Trojan
port 1011 - Doly Trojan
port 1012 - Doly Trojan
port 1015 - Doly Trojan
port 1016 - Doly Trojan
port 1020 - Vampire
port 1024 - NetSpy
port 1042 - Bla
port 1045 - Rasmin
port 1050 - MiniCommand
port 1080 - WinHole
port 1081 - WinHole
port 1082 - WinHole
port 1083 - WinHole
port 1090 - Xtreme
port 1095 - RAT
port 1097 - RAT
port 1098 - RAT
port 1099 - BFevolution, RAT
port 1170 - Psyber Stream Server, Streaming Audio trojan, Voice
port 1200 (UDP) - NoBackO
port 1201 (UDP) - NoBackO
port 1207 - SoftWAR
port 1212 - Kaos
port 1225 - Scarab
port 1234 - Ultors Trojan
port 1243 - BackDoor-G, SubSeven, SubSeven Apocalypse, Tiles
port 1245 - VooDoo Doll
port 1255 - Scarab
port 1256 - Project nEXT
port 1269 - Mavericks Matrix
port 1313 - NETrojan
port 1338 - Millenium Worm
port 1349 (UDP) - BO DLL
port 1492 - FTP99CMP
port 1509 - Psyber Streaming Server
port 1524 - Trinoo
port 1600 - Shivka-Burka
port 1777 - Scarab
port 1807 - SpySender
port 1966 - Fake FTP
port 1969 - OpC BO
port 1981 - Shockrave
port 1999 - BackDoor, TransScout
port 2000 - Der Spaeher 3, Insane Network, TransScout
port 2001 - Der Spaeher 3, TransScout, Trojan Cow
port 2002 - TransScout
port 2003 - TransScout
port 2004 - TransScout
port 2005 - TransScout
port 2023 - Ripper
port 2080 - WinHole
port 2115 - Bugs
port 2140 - Deep Throat, The Invasor
port 2155 - Illusion Mailer
port 2283 - HVL Rat5
port 2300 - Xplorer
port 2565 - Striker
port 2583 - WinCrash
port 2600 - Digital RootBeer
port 2716 - The Prayer
port 2773 - SubSeven
port 2801 - Phineas Phucker
port 3000 - Remote Shutdown
port 3024 - WinCrash
port 3128 - RingZero
port 3129 - Masters Paradise
port 3150 - Deep Throat, The Invasor
port 3456 - Teror Trojan
port 3459 - Eclipse 2000, Sanctuary
port 3700 - Portal of Doom
port 3791 - Eclypse
port 3801 (UDP) - Eclypse
port 4000 - Skydance
port 4092 - WinCrash
port 4242 - Virtual hacking Machine
port 4321 - BoBo
port 4444 - Prosiak, Swift remote
port 4567 - File Nail
port 4590 - ICQTrojan
port 5000 - Bubbel, Back Door Setup, Sockets de Troie
port 5001 - Back Door Setup, Sockets de Troie
port 5010 - Solo
port 5011 - One of the Last Trojans (OOTLT)
port 5031 - NetMetropolitan
port 5031 - NetMetropolitan
port 5321 - Firehotcker
port 5343 - wCrat
port 5400 - Blade Runner, Back Construction
port 5401 - Blade Runner, Back Construction
port 5402 - Blade Runner, Back Construction
port 5550 - Xtcp
port 5512 - Illusion Mailer
port 5555 - ServeMe
port 5556 - BO Facil
port 5557 - BO Facil
port 5569 - Robo-Hack
port 5637 - PC Crasher
port 5638 - PC Crasher
port 5742 - WinCrash
port 5882 (UDP) - Y3K RAT
port 5888 - Y3K RAT
port 6000 - The Thing
port 6006 - The Thing
port 6272 - Secret Service
port 6400 - The Thing
port 6667 - Schedule Agent
port 6669 - Host Control, Vampyre
port 6670 - DeepThroat, BackWeb Server, WinNuke eXtreame
port 6711 - SubSeven
port 6712 - Funny Trojan, SubSeven
port 6713 - SubSeven
port 6723 - Mstream
port 6771 - DeepThroat
port 6776 - 2000 Cracks, BackDoor-G, SubSeven
port 6838 (UDP) - Mstream
port 6912 - Shit Heep (not port 69123!)
port 6939 - Indoctrination
port 6969 - GateCrasher, Priority, IRC 3, NetController
port 6970 - GateCrasher
port 7000 - Remote Grab, Kazimas, SubSeven
port 7001 - Freak88
port 7215 - SubSeven
port 7300 - NetMonitor
port 7301 - NetMonitor
port 7306 - NetMonitor
port 7307 - NetMonitor
port 7308 - NetMonitor
port 7424 - Host Control
port 7424 (UDP) - Host Control
port 7789 - Back Door Setup, ICKiller
port 7983 - Mstream
port 8080 - RingZero
port 8787 - Back Orifice 2000
port 8897 - HackOffice
port 8988 - BacHack
port 8989 - Rcon
port 9000 - Netministrator
port 9325 (UDP) - Mstream
port 9400 - InCommand
port 9872 - Portal of Doom
port 9873 - Portal of Doom
port 9874 - Portal of Doom
port 9875 - Portal of Doom
port 9876 - Cyber Attacker, RUX
port 9878 - TransScout
port 9989 - iNi-Killer
port 9999 - The Prayer
port 10067 (UDP) - Portal of Doom
port 10085 - Syphillis
port 10086 - Syphillis
port 10101 - BrainSpy
port 10167 (UDP) - Portal of Doom
port 10528 - Host Control
port 10520 - Acid Shivers
port 10607 - Coma
port 10666 (UDP) - Ambush
port 11000 - Senna Spy
port 11050 - Host Control
port 11051 - Host Control
port 11223 - Progenic trojan, Secret Agent
port 12076 - Gjamer
port 12223 - Hack´99 KeyLogger
port 12345 - GabanBus, My Pics, NetBus, Pie Bill Gates, Whack Job, X-bill
port 12346 - GabanBus, NetBus, X-bill
port 12349 - BioNet
port 12361 - Whack-a-mole
port 12362 - Whack-a-mole
port 12623 (UDP) - DUN Control
port 12624 - Buttman
port 12631 - WhackJob
port 12754 - Mstream
port 13000 - Senna Spy
port 13010 - Hacker Brazil
port 15092 - Host Control
port 15104 - Mstream
port 16660 - Stacheldracht
port 16484 - Mosucker
port 16772 - ICQ Revenge
port 16969 - Priority
port 17166 - Mosaic
port 17300 - Kuang2 The Virus
port 17777 - Nephron
port 18753 (UDP) - Shaft
port 19864 - ICQ Revenge
port 20001 - Millennium
port 20002 - AcidkoR
port 20034 - NetBus 2 Pro, NetRex, Whack Job
port 20203 - Chupacabra
port 20331 - Bla
port 20432 - Shaft
port 20432 (UDP) - Shaft
port 21544 - GirlFriend, Kidterror, Schwindler, WinSp00fer
port 22222 - Prosiak
port 23023 - Logged
port 23432 - Asylum
port 23456 - Evil FTP, Ugly FTP, Whack Job
port 23476 - Donald Dick
port 23476 (UDP) - Donald Dick
port 23477 - Donald Dick
port 26274 (UDP) - Delta Source
port 26681 - Spy Voice
port 27374 - SubSeven
port 27444 (UDP) - Trinoo
port 27573 - SubSeven
port 27665 - Trinoo
port 29104 - Host Control
port 29891 (UDP) - The Unexplained
port 30001 - TerrOr32
port 30029 - AOL Trojan
port 30100 - NetSphere
port 30101 - NetSphere
port 30102 - NetSphere
port 30103 - NetSphere
port 30103 (UDP) - NetSphere
port 30133 - NetSphere
port 30303 - Sockets de Troie
port 30947 - Intruse
port 30999 - Kuang2
port 31335 (UDP) - Trinoo
port 31336 - Bo Whack, ButtFunnel
port 31337 - Baron Night, BO client, BO2, Bo Facil
port 31337 (UDP) - BackFire, Back Orifice, DeepBO, Freak>
port 31338 - NetSpy DK, ButtFunnel
port 31338 (UDP) - Back Orifice, DeepBO
port 31339 - NetSpy DK
port 31666 - BOWhack
port 31785 - Hack´a´Tack
port 31787 - Hack´a´Tack
port 31788 - Hack´a´Tack
port 31789 (UDP) - Hack´a´Tack
port 31791 (UDP) - Hack´a´Tack
port 31792 - Hack´a´Tack
port 32100 - Peanut Brittle, Project nEXT
port 32418 - Acid Battery
port 33333 - Blakharaz, Prosiak
port 33577 - PsychWard
port 33777 - PsychWard
port 33911 - Spirit 2001a
port 34324 - BigGluck, TN
port 34555 (UDP) - Trinoo (Windows)
port 35555 (UDP) - Trinoo (Windows)
port 37651 - YAT
port 40412 - The Spy
port 40421 - Agent 40421, Masters Paradise
port 40422 - Masters Paradise
port 40423 - Masters Paradise
port 40426 - Masters Paradise
port 41666 - Remote Boot
port 41666 (UDP) - Remote Boot
port 44444 - Prosiak
port 47262 (UDP) - Delta Source
port 50505 - Sockets de Troie
port 50766 - Fore, Schwindler
port 51996 - Cafeini
port 52317 - Acid Battery 2000
port 53001 - Remote Windows Shutdown
port 54283 - SubSeven
port 54320 - Back Orifice 2000
port 54321 - School Bus
port 54321 (UDP) - Back Orifice 2000
port 57341 - NetRaider
port 58339 - ButtFunnel
port 60000 - Deep Throat
port 60068 - Xzip 6000068
port 60411 - Connection
port 61348 - Bunker-Hill
port 61466 - Telecommando
port 61603 - Bunker-Hill
port 63485 - Bunker-Hill
port 65000 - Devil, Stacheldracht
port 65432 - The Traitor
port 65432 (UDP) - The Traitor
port 65535 - RC
이렇게 있습니다.
이걸 봄으로서 무슨 프로그램을 사용하여 컴을 공격했는지 알수 있습니다.
그리고 그냥 netstat 명령어를 사용하지 마시고
netstat -an 이라는 명령을 사용해서 보시기 바랍니다.
netstat 명령어로 장애처리
1. netstat -rn
netstat 명령은 라우팅 테이블을 보여주므로 네트웍 상태를 확인할 수 있음.
(참고: Cisco router: sh ip route, Extreme switch: sh iproute)
netstat -rn 은 라우팅 테이블을 수치로 보여주는 것으로 이렇게 하면 이름 찾기를 하는 것 보다 빠르고 /etc/services, /etc/hosts 파일이 정확하지 않을 때 혼동을 피하기 위해서도 사용할 수 있으며, 또한 직관적으로 IP 주소를 확인할 수 있다.
Flags에서 U는 경로가 사용 가능한 상태, H는 목적지가 네트웍이 아닌 호스트이며, G는 게이트웨이나 라우터를 의미한다. 또한, 브로트캐스트 b, 정적으로 추가된 항목은 S, 복제의 결과로 생성된 경로임을 나타내는 W와 c등을 포함한다.
sol:/bin% netstat -rn ; r 은 Routing Table을 나타내며 n 은 주소와 포트를 숫자로 나타내줌.
Routing Table:
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
210.116.105.0 210.116.105.112 U 3 1306 hme0
10.107.11.0 10.107.11.112 U 2 685 hme1
10.107.0.0 10.107.11.254 UG 0 19334
224.0.0.0 210.116.105.112 U 3 0 hme0
default 210.116.105.126 UG 0 179635
127.0.0.1 127.0.0.1 UH 0 4414 lo0
2. netstat -an
netstat의 기능 하나는 한 호스트에서의 연결 내역(all connections)과 서비스의 목록(listening ports)을 보여주는 것이다. (netstat –a)
바이러스, 웜 이나 해킹등의 상태를 확인할 수 있는 수단이 될 수도 있다.
Listening이나 Established 된 Session의 IP 주소나 포트를 확인한다.
http://www.ccgsecurity.com/port.asp
Pipe line과 함께 Unix/Linux는 grep, Windows는 find 옵션을 병행하여, 특정 포트를 검색한다.
analysisman:/home/elca% netstat -an | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 210.116.123.195:21 211.226.105.161:3044 ESTABLISHED
tcp 0 48 210.116.123.195:22 210.116.123.196:3619 ESTABLISHED
tcp 0 0 210.116.123.195:22 210.116.123.196:3618 ESTABLISHED
C:\\>netstat -an | find "445"
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 *:*
3. netstat -i, netstat -e
netstat –i (Unix/Linux), netstat –e (Windows) 옵션을 이용하여 해당 인터페이스의 패킷량과 에러, Collision 등을 확인할 수 있다.
특정 프로토콜의 연결 현황 파악하기
- Unix: netstat -P protocol (tcp/udp…)
- Linux: netstat -tcp/-udp
- Windows: netstat -p protocol
* -s (statistics)옵션을 같이 사용하면 해당 프로토콜의 통계치를 볼 수 있다.
C:\\>netstat -s -p tcp
TCP Statistics
Active Opens = 204
Passive Opens = 734
Failed Connection Attempts = 2
Reset Connections = 263
Current Connections = 2
Segments Received = 44759
Segments Sent = 26058
Segments Retransmitted = 15
상기 예제를 보면 26,058 TCP 세그먼트가 서버에 의해 전송되었고 15개의 재전송(Retransmission)이 발생하였다. 이것은 1% 보다 작다. 만약, 퍼센트가 이보다 높아진다면 Analyzer를 걸어서 TCP 트래픽을 조사해야 한다
네트워크를 확실하게 보호하고 점검, 모니터링한다 - Netstat Agent
(출처 : '[tacchan]★시스템 명령어인 netstat 를 사용하는 방법' - 네이버 지식iN)
2010. 8. 29.
[MySQL] Slave_Sql_Running = No
Master-Slave Replication 환경에서 Master에만 있는 테이블을 변경한다던가, Slave에서 테이블을 DROP하는 작업을 하는 경우 Slave의 Replication이 중단된다.
이 경우 SHOW SLAVE STATUS\G 명령어를 수행하면
Slave_Sql_Running = No
라는 부분을 발견한다. 이런 경우 error를 유발한 쿼리를 skip 해줘야 한다.
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
mysql> SLAVE START;
SQL_SLAVE_SKIP_COUNTER : Slave를 작동한 후 Master로부터 읽어온 쿼리 중 skip할 쿼리 수
[MySQL] Master-Slave Replication
가. Master 서버 설정
1. Slave 서버에서 접근할 수 있도록 권한을 준다.
mysql> GRANT REPLICATION SLAVE ON *.* TO 'ID'@'IP' IDENTIFIED BY 'PASSWORD';
ID : Master MySQL의 user id로 Slave의 MySQL에서 접근함
IP : Slave 서버의 IP
PASSWORD : Slave의 MySQL에서 쓰는 id의 password
2. Master 역할을 할 수 있는 권한 부여
[mysqld]
server-id = 1
binlog-do-db = 'DB_NAME'
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
log-bin = mysql-bin
server-id : 동기화 구성에 참여한 각각의 MySQL들을 구분짓기 위한 UNIQUE ID로서 중복되면 안된다.
binlog-do-db : 실제 동기화 하려는 대상 DB의 이름. DB마다 한 라인씩 추가하면 된다.
binlog-ignore-db : 동기화 하지 않을 DB의 이름. DB마다 한 라인씩 추가하면 된다.
log-bin : 아마도 mysql의 log file 이름.
나. Slave 서버 설정
1. Slave 역할을 할 수 있는 권한 부여
[mysqld]
server-id = 2
master-host = 'Master IP'
master-user = 'ID'
master-password = 'PASSWORD'
master-port = 3306
log-bin = mysql-bin
server-id : Master에서의 역할과 동일하게 UNIQUE ID
master-host : Master 서버의 IP
master-user : Master 서버의 MySQL에 생성했던 Replication 계정 ID
master-password : Replication 계정 ID의 비밀번호
master-port : Master 서버의 MySQL 원격 접속 포트번호 (기본: 3306)
log-bin : Master에서의 역할과 동일하게 아마도 log file 이름
다. 동기화 작동
1. Master 서버 재시작 후 MySQL에 접속
2. Master 서버 동작 확인
********************** 1. row **********************
File : mysql-bin.000003
Position : 98
Binlog_Do_DB : test
Binlog_Ignore_DB : mysql, information_schema
1 row in set (0.00 sec)
mysql>
3. Slave 서버 재시작 후 MySQL에 접속
4. Slave 서버 동작 확인
mysql> SHOW SLAVE STATUS\G
********************** 1. row **********************
Slave_IO_State : Waiting for master to send event (정상)
Master_Host : IP
Master_User : ID
Master_Port : 3306
Connection_Retry : 60
Master_Log_File : mysql-bin.000003
Read_Master_Log_Pos : 98
.
.
Slave_IO_Running : Yes (정상)
Slave_SQL_Running : Yes (정상)
.
.
1 row in set (0.00 sec)
mysql>
Read_Master_Log_Pos : MASTER STATUS의 Position과 동일하다.
Slave_IO_State, Slave_IO_Running, Slave_SQL_Running 의 상태가 위와 같다면 정상
2010. 8. 26.
[CentOS] apache tomcat mod_jk 이용해서 연동하기
apache와 tomcat을 mod_jk로 연동하면 포트번호를 입력하지 않고 접근이 가능하다.
아파치 버전 : httpd-2.2.4
탐캣 버전 : apache-tomcat-6.0.29
----------
1. 탐캣 커넥터 다운받기
tomcat-connectors-1.2.30-src.tar.gz 를 다운받는다.
다운받기
2. 설치하기
# chmod 755 tomcat-connectors-1.2.30-src.tar.gz
# tar xvfz tomcat-connectors-1.2.30-src.tar.gz
# cd /var/tmp/tomcat-connectors-1.2.30-src/native
# ./buildconf.sh
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# make install
설치가 잘 된거라면 /usr/local/apache2/modules/mod_jk.so 파일이 생성된다.
mod_jk.so 가 /usr/local/apache2/modules 디렉토리 안에 있고, 권한은 755로 설정되어있는지 확인한다.
3-1. apache2/conf/httpd.conf 설정하기
LoadModule이 있는 라인으로 가서 다음 한줄을 추가한다.
LoadModule jk_module modules/mod_jk.so
<IfModule @#$@#$> </IfModule>의 제일 마지막에 다음을 추가한다.
############################################
<IfModule jk_module>
JkWorkersFile /usr/local/tomcat/conf/workers.properties
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel info
</IfModule>
############################################
3-2. apache2/conf/workers.properties 설정하기
밑의 내용을 작성하고 저장한다.
# Example socket channel, explicitly set post and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Web Context Setup
[uri:/*]
worker=ajp13:localhost:8009
3-3. tomcat/conf/workers.properties 설정하기
밑의 내용을 작성하고 저장한다.
# Start setup file
#
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/java
ps=/
worker.list=ajp13
# Definition for Ajp13 worker
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#
# End setup file
4. 탐캣, 아파치 재시작
[CentOS] How to install MySQL Connector/J
JDK, tomcat 설치하기
---------
JSP 환경만 세팅하고 MySQL등 DB와 연동하지 않으면 아래와 같은 에러를 발견한다.
org.apache.jasper.JasperException: An exception occurred processing JSP pageJDK와 tomcat 설치 후, mysql 연동하는 부분은 웹에서 찾기 힘들어 이렇게 자료로 남긴다.
---------
1. mysql-connector-java-5.1.5.tar.gz 다운받기
http://ftp.plusline.de/mysql/Downloads/Connector-J/
2. 압축풀기
# cd mysql-connector-java-5.1.5
# cp mysql-connector-java-5.1.5-bin.jar /usr/java/jdk1.6.0_21/jre/lib/ext
3. tomcat 재시작
[리눅스] 방화벽 포트 열기
[CentOS] configure: error: xml2-config not found. please check your libxml2 installation.
.
.
configure: error: xml2-config not found. please check your libxml2 installation.
[CentOS] gpg key retrieval failed errno 14 http error 404 not found
gpg key retrieval failed errno 14 http error 404 not found
[CentOS] No curses/termcap library found MySql
2010. 8. 25.
[CentOS] service apachectl does not support chkconfig
[리눅스] root 로 접속 막기
1. 환경설정파일변경
> vi /etc/ssh/sshd_config
------------------------------------------
PermitRootLogin no
------------------------------------------
yes를 no로 변경하고 주석을 풀어줍니다.
2. 재시작
> service sshd restart
2010. 8. 24.
[리눅스]그룹생성 및 폴더에 그룹권한주기
>vi /etc/group
파일 내용중 다음과 같은 라인을 확인할 수 있다.
web:x:505: => web이라는 그룹에 GID 505를 부여함
2. 사용자에게 GID(그룹아이디)주기
원하는 사용자의 GID를 505로 변경함.
- /etc/passwd 파일의 구조
account:password:UID:GID:GECOS:directory:shell
account : 사용자이름
password : 암호(shadows파일로 대치될 경우 * 표시)
UID, GID : 사용자번호, 그룹번호
GECOS : 사용자정보(사용자 Full Name)
directory : 사용자의 홈디렉토리
shell : 사용자의 기본 shell
3. 원하는 폴더에 그룹으로 권한주기
> ls -al
drwxr-xr-x 2 root web 4096 1월 4 13:15 폴더이름
해당 폴더에 그룹이 web으로 변경되었음
단, 해당 디렉토리에 그룹에 대한 rwx의 권한이 있어야 함.
2010. 8. 17.
[PHP] MongoDB 사용하기
[MongoDB] 사용자추가 스키마생성 DB삭제
2010. 8. 16.
[MongoDB] APM에서 시작하기
$m = new Mongo();
?>
2010. 8. 15.
[MySQL] index 추가, 삭제, 확인하기
2010. 7. 19.
FirePHP 사용법
$firephp = FirePHP::getInstance(true);
$firephp->log($variable);
FirePHP 사용법.
post raw data
etc/passwd
2010. 7. 1.
PHP 이미지 crop
PHP 파일업로드
웹폼디자인
이미지출처 : insightbook.springnote.com
2010. 6. 30.
웹표준교과서
이미지출처 : www.wisia.com
자바스크립트 완벽가이드
이미지출처 : jinaida.egloos.com
2010. 6. 7.
CSS3 embossing, highlight, gradient effect
2010. 6. 6.
HTML5 meta Tag
JavaScript - Zoo Keeper
Javascript로 Zoo Keeper를 만들었습니다.
더 깨질 블럭이 없는 경우 판을 재배치하는 기능과
그 밖에 미쳐 발견하지 못한 버그가 있을 수 있겠지만
일단은 프로토타입 거의 완성입니다!
물론 css로 눈속임을 했고, 기능이 완벽하지 않지만 뿌듯하네요.
향후 구현하지 못한 부분을 완성시키고,
좀더 화려한 게임으로 업그레이드 시키고 싶네요.
2010. 5. 10.
CSS3와 jQuery TOOLS 를 사용한 탭디자인
펼쳐두기..
펼쳐두기..
펼쳐두기..
펼쳐두기..