'분류 전체보기'에 해당되는 글 238건
IgetLinux 를 설치하고,
gaim으로 봇에게 메세지를 날려봤다
그런데 이게 왠일인가!!
msn messenger, webmessenger, jmsn, minimsn,
심지어는 폰으로 해도 응답이 잘 작동하던
봇이 이상하게도 정상적으로 작동하질 않는 것이었다.
터미널 창을열고
ssh 접속을해서,
상태를 봤다
gaim에서 보낸 메세지에 줄바꿈이 들어가 전송이 되는것이었다.
윈도우로 돌아와서,
eclipse 디버깅으로,
gaim에서 넘어온 메세지를 보니
\r\n 이 앞에 붙어서 날라오는걸 확인했다
String rm = mime.getMessage();; // args[0];
if(rm.startsWith("\r\n")){
rm = rm.substring(2);//gaim 에서 메세지들어올때 \r\n이 붙어서 들어옴
}
이렇게 코드를 수정했다.
'개발 > Java' 카테고리의 다른 글
Java: OS 알아내기 (1) | 2006.07.06 |
---|---|
java + mysql (0) | 2006.07.06 |
Thread Test (0) | 2006.01.05 |
java : equals() method overriding (0) | 2006.01.01 |
HTMLtest (0) | 2005.12.24 |
2. jdk 설치
(http://java.sun.com 에서 다운로드 가능)
#chmod +x jdk-1_5_0_06-linux-i586.bin
#./jdk-1_5_0_06-linux-i586.bin
Do you agree to the above license terms? [yes or no]
yes
# vi /etc/profile
PATH="$PATH:/usr/local/jdk1_5_0_06/bin"
export JAVA_HOME="/usr/local/jdk1_5_0_06"
두줄 추가
# source profile
'리눅스' 카테고리의 다른 글
우분투 한영키 (0) | 2006.02.04 |
---|---|
srpm build (0) | 2006.01.20 |
find 를 이용한 파일 삭제 (0) | 2006.01.06 |
[펌]rkhunter을 통한 시스템 무결성 체킹하기 (0) | 2005.12.25 |
cvs 서버 구축 (0) | 2005.12.21 |
제목 : 하부 디렉토리까지 특정 이름의 파일 찾아서 지우기
만약에 cvs로 받은 패키지의 'CVS'디렉토리를 모두 지운다면,
'find . -name CVS -exec rm -rf {} \;'를 실행한다.
[ 이 글에 댓글달기 | 본문에 댓글달기 | 수정 | 삭제]
작성자 : 검은밤하늘 (2004-10-15 21:45)
제목 : 작성된지 30일 이상 지난 파일을 모두 지우기
작성되거나 변경된지 30일 이상 지난 파일을 모두 지울려면
find . -mtime +30 -exec rm -f {} \;
-mtime 옵션은 최종변경시간을 체크하는 옵션이죠.
/tmp 나 /var/log 디렉토리에서 오래된 파일을 지울 때 유용한 옵션입니다.
http://man.linux.co.kr/?platform=redhat9&program=find§ion=1
'리눅스' 카테고리의 다른 글
srpm build (0) | 2006.01.20 |
---|---|
jdk install (0) | 2006.01.07 |
[펌]rkhunter을 통한 시스템 무결성 체킹하기 (0) | 2005.12.25 |
cvs 서버 구축 (0) | 2005.12.21 |
cvs 사용기 (0) | 2005.12.20 |
[CODE type="java"]
/** 쓰레드 연습 **/
class Data{
[tab]
[tab]private String data;
[tab]private boolean is_saved = false;
[tab]
[tab]public synchronized void setData(String arg){
[tab][tab]
[tab][tab] try{
[tab][tab][tab]
[tab][tab][tab]
[tab][tab][tab] if(is_saved){
[tab][tab][tab][tab] wait();
[tab][tab][tab] }
[tab][tab] }
[tab][tab] catch (Exception e) {
[tab][tab][tab] System.out.println("SET error");
[tab][tab] }
[tab][tab]
[tab][tab] data = arg;
[tab][tab] is_saved = true;
[tab][tab] notify();
[tab][tab]
[tab]}
[tab]public synchronized String getData(){
[tab][tab]
[tab][tab] try{
[tab][tab][tab] if(!is_saved)
[tab][tab][tab][tab] wait();
[tab][tab][tab]
[tab][tab] }
[tab][tab] catch (Exception e) {
[tab][tab][tab] System.out.println("GET error");
[tab][tab] }
[tab][tab]
[tab][tab] String r = data;
[tab][tab] data = "";
[tab][tab] is_saved =false;
[tab][tab] notify();
[tab][tab] return r;
[tab]}
[tab]
[tab]
[tab]public boolean is_saved(){
[tab][tab] return is_saved;[tab][tab]
[tab]}
[tab]
}
class Producer extends Thread{
[tab]Data s;
[tab]Producer(String msg, Data ss){
[tab][tab] s=ss;
[tab][tab] System.out.println(msg);[tab][tab]
[tab]}
[tab]public void run(){
[tab][tab] int i=0;
[tab][tab] while(i<10){
[tab][tab][tab] try{
[tab][tab][tab] sleep((long)(Math.random()*1000));
[tab][tab][tab] }
[tab][tab][tab] catch (Exception e) {
[tab][tab][tab][tab] // TODO: handle exception
[tab][tab][tab] }
[tab][tab][tab]
[tab][tab][tab] System.out.println( "producer is running : " +i);
[tab][tab][tab] s.setData("DATA ("+i+"): " + produce());
[tab][tab][tab][tab] i++;
[tab][tab]
[tab][tab] }//end while
[tab]}//end run
[tab]
[tab]private String produce(){
[tab][tab] int r ;
[tab][tab] r =(int)( Math.random()*10);
[tab][tab] return "" + r;
[tab]}
[tab]
}
class Consumer extends Thread{
[tab]Data s;[tab]
[tab]
[tab]Consumer(String msg,Data ss){
[tab][tab] s = ss;
[tab]
[tab][tab] System.out.println(msg);
[tab]}
[tab]
[tab]public void run(){
[tab][tab] int i=0;
[tab][tab] String data="";
[tab][tab] while(i<10){
[tab][tab][tab] try{
[tab][tab][tab][tab] sleep((long)(Math.random()*1000));
[tab][tab][tab][tab] }
[tab][tab][tab][tab] catch (Exception e) {
[tab][tab][tab][tab][tab] // TODO: handle exception
[tab][tab][tab][tab] }
[tab][tab][tab][tab]
[tab][tab][tab] System.out.println( "consumer is running : " + i);
[tab][tab][tab] data =s.getData();
[tab][tab][tab] System.out.println(">> " + data);
[tab][tab][tab] i++;
[tab][tab][tab]
[tab][tab] }//end while
[tab]}//end run[tab]
}
class Ttest{
[tab]public static void main(String args[])
[tab]{
[tab][tab] Data data = new Data();
[tab][tab] Producer t1 = new Producer("P thread is ready", data);
[tab][tab] Consumer c1 = new Consumer("C thread is ready", data);
[tab][tab]
[tab][tab]
[tab][tab] t1.start();
[tab][tab] c1.start();
[tab][tab]
[tab][tab]
[tab][tab]
[tab][tab][tab][tab]
[tab]}[tab][tab]
}
/**
class Data{
[tab]
[tab]private String data;
[tab]private boolean is_saved = false;
[tab]
[tab]public void setData(String arg){
[tab][tab] data = arg;
[tab][tab] is_saved = true;
[tab]}
[tab]public String getData(){
[tab][tab] String r = data;
[tab][tab] data = "";
[tab][tab] is_saved =false;
[tab][tab] return r;
[tab]}
[tab]
[tab]
[tab]public boolean is_saved(){
[tab][tab] return is_saved;[tab][tab]
[tab]}
[tab]
}
class Producer extends Thread{
[tab]Data s;
[tab]Producer(String msg, Data ss){
[tab][tab] s=ss;
[tab][tab] System.out.println(msg);[tab][tab]
[tab]}
[tab]public void run(){
[tab][tab] int i=0;
[tab][tab] try{
[tab][tab][tab] while(i<10){
[tab][tab][tab][tab]
[tab][tab][tab][tab] System.out.println( "producer is running : " +i);
[tab][tab][tab][tab] if(s.is_saved()){
[tab][tab][tab][tab][tab] yield();
[tab][tab][tab][tab] }
[tab][tab][tab][tab] else{
[tab][tab][tab][tab][tab] s.setData("DATA ("+i+"): " + produce());
[tab][tab][tab][tab][tab] i++;
[tab][tab][tab][tab] }
[tab][tab][tab][tab]
[tab][tab][tab] }//end while
[tab][tab] }
[tab][tab] catch (Exception e) {
[tab][tab][tab] System.out.println(e);
[tab][tab][tab] // TODO: handle exception
[tab][tab] }
[tab]}//end run
[tab]
[tab]private String produce(){
[tab][tab] int r ;
[tab][tab] r =(int)( Math.random()*10);
[tab][tab] return "" + r;
[tab]}
[tab]
}
class Consumer extends Thread{
[tab]Data s;[tab]
[tab]
[tab]Consumer(String msg,Data ss){
[tab][tab] s = ss;
[tab]
[tab][tab] System.out.println(msg);
[tab]}
[tab]
[tab]public void run(){
[tab][tab] int i=0;
[tab][tab] String data="";
[tab][tab] try{
[tab][tab][tab] while(i<10){
[tab][tab][tab][tab] System.out.println( "consumer is running : " + i);
[tab][tab][tab][tab] if(s.is_saved()){
[tab][tab][tab][tab][tab][tab] data =s.getData();
[tab][tab][tab][tab][tab][tab] System.out.println(">> " + data);
[tab][tab][tab][tab][tab][tab] //notifyAll();
[tab][tab][tab][tab][tab][tab] i++;
[tab][tab][tab][tab] }
[tab][tab][tab][tab] else{
[tab][tab][tab][tab][tab] yield();
[tab][tab][tab][tab][tab] yield();
[tab][tab][tab][tab][tab]
[tab][tab][tab][tab][tab] //this.wait();
[tab][tab][tab][tab][tab] //this.suspend();
[tab][tab][tab][tab] }
[tab][tab][tab][tab]
[tab][tab][tab] }//end while
[tab][tab] }
[tab][tab] catch (Exception e) {
[tab][tab][tab] System.out.println(e);
[tab][tab][tab] // TODO: handle exception
[tab][tab] }
[tab]}//end run[tab]
}
class Ttest{
[tab]public static void main(String args[])
[tab]{
[tab][tab] Data data = new Data();
[tab][tab] Producer t1 = new Producer("P thread is ready", data);
[tab][tab] Consumer c1 = new Consumer("C thread is ready", data);
[tab][tab]
[tab][tab]
[tab][tab] t1.start();
[tab][tab] c1.start();
[tab][tab]
[tab][tab]
[tab][tab]
[tab][tab][tab][tab]
[tab]}[tab][tab]
}
**/
[/HTML][/CODE]
'개발 > Java' 카테고리의 다른 글
java + mysql (0) | 2006.07.06 |
---|---|
gaim에서 sempeebot (0) | 2006.01.14 |
java : equals() method overriding (0) | 2006.01.01 |
HTMLtest (0) | 2005.12.24 |
jmsnm lib cvs server (0) | 2005.12.19 |
여러가지 제약때문에,
버스 정류장 리스트를 쫘악뽑아서
txt파일로 만든다음
이것을 db에 집어넣기위해서
sql 형식으로 바꿔야되는데,
excel, access 로 뻘짓하다가
결국 c++로 parser를 제작 -_-
sql 구문을 손에 넣다 -_-;
'개발' 카테고리의 다른 글
테스트용으로 만들어본 DFA (3) | 2006.10.14 |
---|---|
Genealogy of Common Languages (2) | 2006.08.02 |
msnbot - mysql db와 연동 (0) | 2006.07.06 |
bot 추가 기능 구상 (0) | 2006.02.14 |
eclipse 에서 autoftp플러그인사용 (0) | 2005.12.22 |
SBsession 처리 작업도중 ;
이 문제로 몇시간동안 삽질끝에 method overriding으로 해결
class SBField{
public long SB;
public int Code;
public boolean equals(Object obj){
SBField f = (SBField)obj;
if(this.SB==f.SB && this.Code == f.Code)
return true;
return false;
}
}
...
...
...
public int find(SBField element){
ListIterator li = list.listIterator();
while(li.hasNext()){
//System.out.println( li.nextIndex() + ":" + li.next().equals((Object)element) );
Object next = li.next();
//System.out.println(next);
if(next.equals((Object)element))
return li.nextIndex()-1;
}
return -1;
}
'개발 > Java' 카테고리의 다른 글
gaim에서 sempeebot (0) | 2006.01.14 |
---|---|
Thread Test (0) | 2006.01.05 |
HTMLtest (0) | 2005.12.24 |
jmsnm lib cvs server (0) | 2005.12.19 |
java msn bot project start (0) | 2005.12.18 |
안녕하세요.
http://www.rootman.co.kr 운영자 정찬호입니다.
rkhunter는 rootkit을 찾아 주는 유틸리티로 설치도 간단하고 보는 법도 간단합니다.
또한 중요 파일에 대한 위, 변조를 알려 주어 관리자로 하여금 약간 안도감을 주는^^ 프로그램이죠.
혹시 모르셨던 분들 한 번 써 보세요.
도움이 꼭 되시길 바라면서.
Have a good time !
1. 관련사이트
http://www.rootkit.nl/projects/rootkit_hunter.html
2. 소스 다운로드
(1) http://downloads.rootkit.nl/rkhunter-1.2.7.tar.gz
(2) http://mirror.1day.co.kr/download/Security/rkhunter-1.2.7.tar.tar
3. 설치
[root@ns1 /usr/local/src]# tar xvfz rkhunter-1.2.7.tar.tar
[root@ns1 /usr/local/src]# cd rkhunter-1.2.7
[root@ns1 rkhunter-1.2.7]# ./installer.sh
Rootkit Hunter installer 1.2.7 (Copyright 2003-2005, Michael Boelen)
---------------
Starting installation/update
Checking /usr/local... OK
Checking file retrieval tools... /usr/bin/wget
Checking installation directories...
- Checking /usr/local/rkhunter...Created
- Checking /usr/local/rkhunter/etc...Created
- Checking /usr/local/rkhunter/bin...Created
- Checking /usr/local/rkhunter/lib/rkhunter/db...Created
- Checking /usr/local/rkhunter/lib/rkhunter/docs...Created
- Checking /usr/local/rkhunter/lib/rkhunter/scripts...Created
- Checking /usr/local/rkhunter/lib/rkhunter/tmp...Created
- Checking /usr/local/etc...Exists
- Checking /usr/local/bin...Exists
Checking system settings...
- Perl... OK
Installing files...
Installing Perl module checker... OK
Installing Database updater... OK
Installing Portscanner... OK
Installing MD5 Digest generator... OK
Installing SHA1 Digest generator... OK
Installing Directory viewer... OK
Installing Database Backdoor ports... OK
Installing Database Update mirrors... OK
Installing Database Operating Systems... OK
Installing Database Program versions... OK
Installing Database Program versions... OK
Installing Database Default file hashes... OK
Installing Database MD5 blacklisted files... OK
Installing Changelog... OK
Installing Readme and FAQ... OK
Installing Wishlist and TODO... OK
Installing RK Hunter configuration file... OK
Installing RK Hunter binary... OK
Configuration updated with installation path (/usr/local/rkhunter)
Installation ready.
See /usr/local/rkhunter/lib/rkhunter/docs for more information. Run 'rkhunter' (/usr/local/bin/rkhunter)
4. 실행 파일 복사
[root@ns1 rkhunter-1.2.7]# cp rkhunter /usr/sbin/
5. 시스템 검사하기
(1) 검사 레포트 crt 출력
[root@ns1 rkhunter-1.2.7]# rkhunter -c
(2) 검사 파일 저장하기
[root@ns1 rkhunter-1.2.7]# rkhunter --checkall --createlogfile
....
....
---------------------------- Scan results ----------------------------
MD5
MD5 compared: 0
Incorrect MD5 checksums: 0
File scan
Scanned files: 342
Possible infected files: 0
Application scan
Vulnerable applications: 3
Scanning took 365 seconds
Scan results written to logfile (/var/log/rkhunter.log)
6. 버전 확인하기
[root@ns1 rkhunter-1.2.7]# /usr/local/bin/rkhunter --versioncheck
http://www.rootkit.nl/rkhunter/rkhunter_latest.dat
Rootkit Hunter 1.2.3, copyright Michael Boelen
This version: 1.2.3
Latest version: 1.2.7
Update available
7. rkhunter 업데이트하기
[root@ns1 root]# /usr/local/bin/rkhunter --update
Running updater...
Mirrorfile /usr/local/rkhunter/lib/rkhunter/db/mirrors.dat rotated
Using mirror http://www.rootkit.nl/rkhunter
[DB] Mirror file : Update available
Action: Database updated (current version: 2005033000, new version 2005050700)
[DB] MD5 hashes system binaries : Update available
Action: Database updated (current version: 2005041000, new version 2005080200)
[DB] Operating System information : Update available
Action: Database updated (current version: 2005032500, new version 2005091100)
[DB] MD5 blacklisted tools/binaries : Up to date
[DB] Known good program versions : Update available
Action: Database updated (current version: 2005040300, new version 2005071500)
[DB] Known bad program versions : Update available
Action: Database updated (current version: 2005040300, new version 2005071500)
Ready.
- 이상 -
'리눅스' 카테고리의 다른 글
jdk install (0) | 2006.01.07 |
---|---|
find 를 이용한 파일 삭제 (0) | 2006.01.06 |
cvs 서버 구축 (0) | 2005.12.21 |
cvs 사용기 (0) | 2005.12.20 |
cvs 관리 (0) | 2005.12.19 |
'개발 > Java' 카테고리의 다른 글
gaim에서 sempeebot (0) | 2006.01.14 |
---|---|
Thread Test (0) | 2006.01.05 |
java : equals() method overriding (0) | 2006.01.01 |
jmsnm lib cvs server (0) | 2005.12.19 |
java msn bot project start (0) | 2005.12.18 |
ㅇㅇㄴㅣㅏㄴㅣㅇㅏ
'개발 > HTML,JS' 카테고리의 다른 글
재미있는??? (1) | 2006.10.09 |
---|---|
zboard encoding 바꾸기 (0) | 2006.03.04 |