Note 53

리눅스 커널에서 TCP 패킷 보내기

커널에서 TCP 패킷 필요가 생겨 아래와 같이 코딩하여 전송하였음.HTTP/XML 패킷 소스/*endbuffer sends "Length" bytes from "Buffer" through the socket "sock".*/ size_t SendBuffer(struct socket *sock, const char *Buffer, size_t Length){struct msghdrmsg;mm_segment_toldfs; // mm_segment_t is just a longstruct ioveciov; // structure containing a base addr. and lengthint len2; //printk("Entering SendBuffer\n"); msg.msg_name = 0;msg.m..

Note 2012.03.29

freeradius 설치

CentOS 5.4에서 RADIUS 서버 설치하기 RADIUS 서버(인증 서버)를 구축하기 위해서는 다음과 같은 파일이 필요하다 ◎ files ● freeradius-server-2.1.10.tar.gz ● openssl-1.0.0c.tar.gz ● freeradius-server-2.1.10_eap-aka_patch.diff (aka 인증 패치) ◎ OpenSSL 설치 OpenSSL은 리눅스 설치시 함께 설치되며 보통 Binary 형태로 설치 된 경우가 많기에 그냥 새롭게 설치해준다.(이전에 설치한 binary RPM은 삭제하지 않고 소스를 설치하는 것이 좋다) Openssl 압축 해제 및 설치 # tar vxzf openssl-1.0.0c.tar.gz # ./config shared --prefix=..

Note/Memo 2011.01.10

CPU 사용률 / 메모리 사용류 구하기(모듈 프로그래밍)

그전에 포스팅한 내용은 /proc/stat과 /proc/meminfo 를 이용하여 CPU 사용률 과 메모리 사용률을 구하였다. 이번에는 sysinfo() 함수를 이용하여 proc 파일 시스템을 만들어본다. (본 내용은 짧은 영어 실력으로 번역하여 이해한 것으로 틀린 부분이 있으면 지적 부탁드립니다) sysinfo 함수는 유저 영역에서 동작하는 함수로 proc 파일 시스템으로 동작하기 위해서는 부적합하다고 보인다. 하지만 proc 파일 시스템으로 만들면 좀 더 있어 보인다(?)는 이유로 강행하게 되었다. sysinfo의 설명을 살펴보면 다음과 같다. NAMEsysinfo - returns information on overall system statistics SYNOPSIS#include int sysi..

Note/Memo 2010.10.20

리눅스에서 CPU 사용율 및 메모리 사용률 구하기(busybox 에 추가)

해당 값을 구하기 위하여 /proc/meminfo 와 /proc/stat을 활용하였다. 먼저현재 CPU 사용률을 구해야하는데 리눅스는 이것을 /proc/stat에 텍스트 형태로 저장한다. 각 필드는 리눅스 시간 단위인 jiffies로 내용은 아래와 같다. - user: normal processes executing in user mode - nice: niced processes executing in user mode - system: processes executing in kernel mode - idle: twiddling thumbs - iowait: waiting for I/O to complete - irq: servicing interrupts - softirq: servicing sof..

Note/Memo 2010.10.15

네트워크 전송방식

유니캐스트/브로드캐스트/멀티캐스트 유니캐스트 1:1 통신방법. 보내고자하는 주소(MAC ADDRESS)를 프레임에 포함시켜 보내는 방식. 브로드캐스트 하나의 네트워크 전체의 통신방법. 같은 네트워크에 포함된 장비들에게 거부권은 없고 일단 무조건 수신하고 봐야하는 통신법 브로드캐스트의 대표적인 사용 예는 ARP이다. ARP란 자신과 데이터 오신을 하기위한 다른 노드의 맥어드레스를 알아내기 위한 프로토콜. 쉽게 말해 실질적인 통신은 IP주소가 아닌 맥어드레스로 이루어지는데,IP주소는 알고 있지만 맥어드레스를 모를때 사용하는방법 멀티캐스트 멀티캐스트의 원리는 멀티캐스트 전송을 위해서는 헤더에 수신자의 주소 대신 수신자들이 참여하고 있는 그룹주소를 표시하여 패킷을 전송. 멀티캐스트 전송을 위한 그룹 주소는 D-..

Note/Memo 2010.10.11