조각 코드 : readlink

조각 코드 readlink 함수 자체의 예제만으로는 너무 단순해서 좀 확장한 예제를 만들어 봤습니다. 고정폭 버퍼를 사용하여 버퍼오버플로우 취약점을 남겨두는것보다. 다음과 같이 가변적인 버퍼가 되도록 구현하는게 당연히 좋겠죠? readlink 사용시 가장 주의할것은 readlink 의 buffer 에는 NUL 을 붙여주지 않는다는 점일것입니다. 이것만 주...

None title

---- 1. scandir 예제 1. 간단한 scandir 의 사용예제 1. 1. Version 0.1 1. 2005/06/17----opendir/readdir/closedir 을 사용하는 방법도 있지만 보다 간단히 사용할수 있는 scandir 함수에 대해서 알아봅시다./ Copyright (C) Information Equipment co.,LTD...

SEED 블록 암호화 library/example

SEED 블록 암호화 library/example---- 1. SEED 블록 암호화 library/example 1. 정보보호진흥원에서 개발한 SEED 알고리즘의 활용예 1. 1. Version 0.1 1. 2006/04/07 ----정보보호진흥원(KISA) 에서 개발한 SEED 암호화 알고리즘을library로 구현해보고 예제도 함께 만들어 봤습니다.기...

조각코드 : glibc 함수의 유저 구현

조각코드 출처 #include "small_libc_conf.h"#define NULL 0x0 #if _USE_STRCPY_ char strcpy(char dst, const char src) { char dstSave=dst; int c; do { c src++; } while(c); return dstSave;}#endif #if _USE_STRN...

select를 이용한 Multi tail 구현

select를 이용한 Multi tail 구현tail구현 함수 입니다. 파일에 추가 되는 내용이 있는지 검사해서 줄단위로 읽어들입니다. 로그파일처리를 위한 프로그램등에 유용하게 사용할 수 있을 겁니다. 현재 저는 Apache( 1. 파일의 끝에 도달하면 select의 의미가 없으므로 굳이 select를 사용할 필요는 없을 거라고 생각된다. 실제 s...

조각 코드 : 유닉스 시간을 문자열 형식으로 변환

조각 코드 유닉스 시간을 문자열로 바꿔주기 위한 표준 함수는 ctime(time_t 타입의 유닉스 시간을 알아보기 쉬운 일반 문자열로 변경하는 함수입니다. 시간의 각 단위를 표현하기 위해 y(년), m(월), d(일), h(시), mi(분),s(초) 를 사용하게 됩니다. php의 date 함수와 비슷하게 사용할 수 있습니다.현재는 각 자리수가 고정되어 있...

조각코드 : 시스템 부팅 후 경과시간 검사

조각코드 리눅스/솔라리스 시스템의 부팅후 경과된 시간을 초단위로 얻어옵니다. 부팅시간은 /proc/uptime의 값을 이용해서 계산합니다. 부팅경과 시간은 단순히 시스템의 부팅 시간을 얻어오는 것 외에도 프로세스의 CPU사용율 등을 계산하기 위한 용도로도 사용됩니다. int uptime(); 1. 리턴값 int main(){ time_t cutime = ...

인터페이스의 트래픽 정보를 얻어온다.

인터페이스의 트래픽 정보를 얻어온다.지정된 인터페이스의 In/Out bps,pps 정보를 얻어낸다. proc(#!/usr/bin/perl$iname = $ARGV;if ($#ARGV != 0){ printf("Usage exit(1);}open(FD, "/proc/net/dev") || die "Error";$isok = 0;$data;while($li...

Perl : 프로세스 상태정보 얻어오기

Perl #!/usr/bin/perl$argnum = $#ARGV+1;$PNAME = $ARGV;$PID=$$;# 아규먼트로 PID(# /proc/PID/status 를 이용해서 실행중인 쓰레드 갯수를 얻어온다.sub getThreadNum{ my($PID) = @_; my $PROC = "/proc/$PID/status"; my $thread=""; m...

perl : 모든 하위 디렉토리의 권한 변경

perl 시스템 관리를 하다보면, 하위 디렉토리의 특정 종류의 파일에 대해서 일괄작업을 해야 하는 경우가 있다. 이를테면 크기가 얼마 이상인 파일을 지워야 한다거나, 파일의 날짜를 변경시켜야 한다거나 하는 등등의 일이다. 노가다를 뛰는 방법도 있겠지만 자고로 시스템 관리자의 미덕은 게으름 아니던가. 스크립트 하나 잘 만들어 두면, 한시간 해야 할일을 1분...