Linux/일반2011/10/10 10:26


간단한 테스트용
저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/일반2011/09/30 10:34


tcpkill command

Use tcpkill command to kill specified in-progress TCP connections. It is useful for libnids-based applications which require a full TCP 3-whs for TCB creation.

Syntax:

tcpkill -i eth0 { expression }

Examples:

(a) Kill all outgoing ftp (port 21) connection:

tcpkill -i eth0 port 21

(b) Kill all all packets arriving at or departing from host 192.168.1.2 (host12.nixcraft.com)

tcpkill host 192.168.1.2

OR

tcpkill host host12.nixcraft.com


(c) To kill all IP packets between 192.168.1.2 and any host except 192.168.1.111, type the following:

tcpkill ip host 192.168.1.2 and not 192.168.1.111



참고:
http://www.cyberciti.biz/howto/question/linux/kill-tcp-connection-using-linux-netstat.php
저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/일반2011/09/21 16:11

curl -X POST -d @파일명  타겟URL

curl -X POST -d '내용' 타겟URL

저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
TAG curl
Linux/설치/설정2011/05/11 15:53

서버 작업을 할때 흔적을 남기기 위해서 커멘드를 수행한 시간을 남겨야 할 때가 있다.
bash를 이용할 경우 기본적으로 제공하는 기능을 이용하면 쉽게 설정할 수 있다.

HISTTIMEFORMAT를 설정 하면 된다. 자세한것은 googling ~~

적용하고자 하는 설정 내용들
export HISTSIZE=10000      # 히스토리 갯수 수정
export HISTFILESIZE=1000000     # 히스토리 파일 크기 수정
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "     # 날짜 출력 형식



위 내용을 프로파일에 추가
echo export HISTSIZE=10000         > /etc/profile.d/bash_conf.sh
echo export HISTFILESIZE=1000000        >> /etc/profile.d/bash_conf.sh
echo export HISTTIMEFORMAT=\"%Y-%m-%d %H:%M:%S \"   >> /etc/profile.d/bash_conf.sh


변경된 .bash_history파일 ( 파일에는 타임 스템프가 붙는다)
#1305095654
exit
exit
#1305095158
ls
#1305095162
ls
#1305095208
vi /etc/profile.d/bash_conf.sh


.bash_history를 볼 때는 다음과 같이 history 명령을 통해서 본다.
history명령을 통해서 볼 때 날짜 포멧이 결정된다.
  # history
 1003  2011-05-11 15:37:09 lsb_release -a
 1004  2011-05-11 15:37:32 export HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S '
 1005  2011-05-11 15:37:33 history
 1006  2011-05-11 15:38:16 vi .bash_profile
 1007  2011-05-11 15:38:20 vi .bash_historyHIS
 1008  2011-05-11 15:38:54 vi .bash_history
 1009  2011-05-11 15:40:07 export
 1010  2011-05-11 15:40:28 history





저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/설치/설정2010/03/28 16:19


# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/설치/설정2009/11/13 00:37


이클립스 클릭 버그

http://mou.me.uk/2009/10/31/fixing-eclipse-in-ubuntu-9-10-karmic-koala/




한글 입력 버그


http://www.spoonzero.com/?p=177
저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/설치/설정2009/10/12 02:26


핵심만 보기



학교와 집 네트워크 상황, 뭐 이런 느낌이다.
대용이네 네트웍
집에 컴퓨터가 데스크탑이 160G 노트북이 250G인지라.... 자료넣을 디스크 용량이 부족해도 너무 부족하다. 언제나 번돈의 120%를 쓰는 나로써는 당연히 네트워크 스토리지를 살 돈이 없어서.(취업하고 첫 월급으로 사주마)

SSH터널링을 하기로 했다-_-

그림에서 보듯이 옆집의 해커씨가 가끔 스니핑도 해주시고 계신 상황이라서-_- SSH는 필수다.
아무래도 명함을 아파트 1층에 붙여 놓아야 할꺼 같긴하다. 설마 그 명함(?) 붙여놓았는데 장난 치진 않겠지.

모두 리눅스를 깔아서 쓰다가... 불의의 사고로 데스크탑이 windows 7으로 돌아가고 있다.( 절대 모 은행이 virtualbox를 이용한 가상머신으로 접속했더니 블루스크린나서 그러는건 아니다)



SSH를 이용하여 학교서버들에 있는 samba와 연결을 해야야겠어서 이리저리 해봤는데 안되더라..
이유를 보니 윈도우의 뭔 놈의 패치녀석이 445포트를 막아 놓았다고 -_-. vista SP2와 SP3 등등은 안된다...
거기다가 vista의 솔루션을 적용시켜 보려 했더니 .... windows 7에는 그? 서비스 없는데?-_-


핵심.

1. 윈도우에서 445포트를 막아 놓았다. windows 7은 깐지 하루 밖에 안돼서 뭐가 뭔지 귀찮다.
http://www.sshvpn.de/ 에가서 프로그램을 받는다. 올려도 놓았다.
프로그램을 실행 시켜서 막아 놓은것을 푼다. 관리자 권한으로 실행시킨다.

2. 루프백 네트웍 아답터를 하나 추가 한다. 물론 설정도
 windows 7에서는 제어판의 컴퓨터관리의 레거시 하드웨어 추가 로 가자
Microsoft 사의 Loopback Adapter를 선택해서 추가하도록하자


대충 까이꺼 ~


3. putty를 가지고 잘 연결한다.
첫 번째 : source 139 , destination 자기컴퓨터 아이피:139   이라고 적고 추가.
두 번째 : source 10.0.0.1:139, destination 127.0.0.1:139
세 번째 : source 445, destination 자기컴퓨터 아이피:445 이라고 적고 추가.
네 번째 : source 10.0.0.1:445 , destination 127.0.0.1:445





설정이 매우 맘에 안들긴하지만(더 간단한 것도 있을테데-_-,KLDP에 나와있는게 이거니...)
5. 연결이나 한다.

5. samba에 연결한다.
ㅡ.ㅡ 패스워드와 아이디를 묻는 화면은 넣지 않았다. 만에 하나 삼바에 패스워드 하나 묻지 않고 연결된다면 문제가 상당히 심각한 것이므로 방화벽을 모두 풀고 초기버전의 메일서버를 운영한다던지 초기버전의 phpbb를 웹서버에서 운영하는 등의 방법으로 해킹을 당해보고 보안의 심각성을 느껴보자. 또 하나 ssh서버에 root로 로그인을 할수 있도록 해 놓았다면 큰맘먹고 ssh bruteforce공격을 실제 해보고 감상문을 적어보자.

잘 쓰자.


6. 끝




이거 작성하면 느낀건데... 윈도우 7의 화면캡쳐 프로그램은 여전히 쓰레기군요....단축키는 인식해야 할꺼 아냐..
그림판은 뭔가 좀 달라 졌네요-_-
역시 타블렛은 드라이버 안깔면 병맛..

저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux2009/06/08 18:23
./configure CC=/usr/local/xscalev2/bin/arm-linux-gcc --host=arm-linux -prefix=/usr/lib/pcre


저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/일반2009/03/22 22:30
이 글은  Openssl에 AES에 대한 예제파일이 없어서 작성 하였다.
Openssl에서 AES코드를 가져와 사용하는 방법에 대해서 알아 보자



C언어로 작성된 보안 알고리즘이 필요하다, 당신은 어떻게 하겠는가?
난 주저 없이 Openssl에서 필요한 알고리즘 구현을 뜯어온다.


1. Openssl에서 AES뜯어내기
http://www.openssl.org 에서 압축된 것을 받아서 압축을 풀면 아래와 같은 화면을 볼 수 있다.
암호화 알고리즘과 해쉬는 crypto 디렉토리에 있다.


해당 폴더에 들어가면 우리가 일반적으로 알고있는 주요 알고리즘 외에 많은 알고리즘을 볼 수 있다.



aes디렉토리에 들어가면 AES알고리즘의 구현을 볼 수 있다.
보통 다른 알고리즘은 이 디렉토리에 예제 파일이 있고 여기서 make를 하면 해당 알고리즘만 컴파일이 된다.
하지만 AES는 예제 파일이 없다... 다른 알고리즘은 해당 디렉토리 혹은 <Openssl디렉토리>/test에 테스트파일이 있다.


이 소스를 수정하기 위해서 aes디렉토리를 원하는 곳으로 복사를 한다.



이제 해야할 것은  컴파일을 해보는 것이다.
하지만 당연히 컴파일은 되지 않는다.  몇가지 문제가 있는데


  • Makefile이 우리가 원하는 대로 실행파일을 만드는 것이 아닌 정적라이브 러리를 만든다.
  • aes_cfb.c파일에서 e_os.h파일을 필요로 한다.
  • aes_wrap.c 파일은 openssl에서 알고리즘들의 일반화를 위해서 aes를 랩핑하는데 쓴다. 구지 필요는 없다.
  • 거의 모든 파일이 <openssl/aes.h>를 참조한다. 
  • 테스트 파일이 없어 된건지 안된건지 알 길이 없다.
위 문제들을 해결 하기 위해서



메이크 파일 작성
일단 Makefile을 수정해야 합니다. 원하시는대로 수정 하시면 될꺼 같구요 저는 아래와 같이 하였습니다.


openssl 종속성 줄이기
이제 파일들을 모두 열어서 include 종속성들을 제거 해야합니다.
#include <openssl/~~~> 형식들을 #include "~~~~"로 바꾸어야 합니다.
사실 임베디드 환경에서 사용하거나 최적화를 한다면 이런식으로 대충 하면 안되겠죠?
필요한 파일들은 e_os.h, e_os2.h, opensslv.h opensslconf.h

또한 aes_wrap.c  를 삭제 해야 합니다. 이 파일은 aes를 이용해서  키를 wrapping하는 알고리즘을 구현 하고 있습니다. 알고리즘의 rfc는 3394( http://www.ietf.org/rfc/rfc3394.txt )입니다.
만약 이 알고리즘을 사용하면서 openssl에서 떼어내기를 원한다면 crypto.h cryptolib.c cryptolib.h mem.c mem_clr.c과 연결되어 있는 종속을 해결 하면 됩니다.







저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/일반2009/02/14 19:11
\cp

모두다 y 기능을 한다...

아... 포스팅 해놓는거 자체가 쪽팔려;;
저작자 표시 비영리 동일 조건 변경 허락
Posted by dosuser(신대용) dosuser
Linux/일반2008/09/29 06:09


커널 2.6 버전의 Makefile


KERNELDIR = /lib/modules/$(shell uname -r)/build
obj-m = hellomodule.o
KDIR :=/lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
 
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.ko
rm -rf *.mod.*
rm -rf .*.cmd
rm -rf *.o


커널 2.6 버전의 module파일

hellomodule.c
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

static int __init init_hello(void);
static void __exit exit_hello(void);
static int __init init_hello(void){
    printk("Module init\n");
    printk("Hello Linux Module! \n");
    return 0;
}

static void __exit exit_hello(void){
    printk("Module Cleand up!\n");
}


module_init( init_hello );
module_exit( exit_hello );

MODULE_LICENSE("GPL");


Posted by dosuser(신대용) dosuser
Linux/일반2008/09/28 13:08

페도라 코어6 에서 yum을 이용하여 소스를 설치 할 수 있다.


yum 을 이용하여 소스 설치 하기

#yum install elfutils-libelf-devel rpmdevtools yum-utils

#yumdownloader -e core-source -e updates-source --source kernel

#rpm -ivh kernel-KERNEL_VERSION.FCx.src.rpm




커널 개발 디렉토리 만들기

#rpmbuild -bp --target $(uname -m) /usr/src/redhat/SPECS/kernel-2.6.spec



위 명령은  위에서받은 커널 소스를 압축 풀어서 target이 가리키는 폴더에 넣는 것 뿐이다.

uname -m 이 명령어는 시스템의 하드웨어를 출력한다. 64비트런이 가능한 하드웨어는 현제 운영체제가 32비트라고 해도 i686이 뜬다.

uname -i를 사용하면 현재 시스템이 사용하고 있는 시스템 arch가 나온다.


편의를 위해 심볼릭 링크 걸기

#ln -s /usr/src/redhat/BUILD/kernel-2.6.23/linux-2.6.23.x86_64   /usr/src/linux

 위에서 진한 부분은 target이 어떻게 되느냐에 따라서 달라지므로 수정해서 쓰자.



커널 설정 맞추기!!!   .config

위에서 target이 i386이 라고 해서 i386 arch로 컴파일 되는 것이 아니다.

커널 소스가 위치한 폴더에, 위의 경우 /usr/src/linux

.config라는 파일이 있다. 그리고 confs라는 폴더에 보면 여러가지 arch마다의 설정이 들어있다.

make menuconfig를 하면 .config가 만들어 지는 것인데 confs 디렉토리에 있는 파일들을 각 arch별로 미리 조금씩 설정된 것이라고 보면 된다.

그런데 크로스 컴파일등의 경우를 제외하고 일반의 경우에 현제 컴퓨터의 커널을 업데이트 하고 싶은 것이라면 현재 시스템의 설정과 동일한 설정을 가지고 시작해야 할것이다.

이 설정 파일은 다행히도 /boot/ 디렉토리에 있다.
(물론 페도라가 그렇다는 것이다. 다른 배포판은 모르겠다.)

/boot/config-커널 버전

형태를 띄고 있다. 이 파일을 작업 디렉토리인 /usr/src/linux/.config 로 복사를 하자, 덮어 쓰는 것이다.

# cp /boot/config-커널 버전 /usr/src/linux/.config


컴파일

make mrproper

make menuconfig

make

make modules_install










Posted by dosuser(신대용) dosuser
Linux/일반2008/01/06 03:26




Posted by dosuser(신대용) dosuser