Linux(34)
-
ubuntu-16.04(Xenial Xerus) -> ubuntu-18.04(Bionic Beaver)
ubuntu 16.04_LTS(Xenial Xerus) --> ubuntu 18.04_LTS(Bionic Beaver) #> apt-get update && apt upgrade #> reboot #> uname -a Linux ubuntu 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
2019.04.04 -
How to install gdb-8.0 / peda on ubuntu
How to install gdb & peda on ubuntu 18.04.02_LTS(Bionic Beaver) First, remove gdb and install python 2.x, library #> apt-get remove gdb #> apt-get install python2.7-dev #> apt-get install libcurses* #> apt-get install texinfo #> apt-get install git Second, you must download gdb-8.0.tar.gz file and install this file #> wget http://ftp.gnu.org/gnu/gdb/gdb-8.0.tar.gz #> tar xvzf gdb-8.0.tar.gz #> c..
2019.04.04 -
centos 7 apm yum install
** 붉은 글씨는 수정해야 하는 문자들임 [apm 설치] #> rpm -qa libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel서버에 설치된 패키지 확인 #> yum install libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel패키지 yum install #> yum install httpdapache(httpd) yum install #> vi /etc/yum.repos.d/MariaDB.repo기존의 yum 으로 설치할 경우 MariaDB 5.5 버전이 설치가됨최신버전 설치를 원할경우 yum 미러 경로를 직접 지정 # MariaDB 10.1 Ce..
2018.12.18 -
linux kernel upgrade
가지고 있는 책에는 2.4 혹은 2.6 버전의 커널만 업그레이드하는 방법만 나와있어 1주일을 구글링하면서 찾은 4.x 버전 커널 업그레이드 방법이다 책에 있는 방식으로 해보려고 했으나 kernel panic 이 계속 발생하여 결국에는 구글님의 손을 빌림 환경OS : Debian 9kernel : 4.9.9upgrade kernel : 4.9.99memory : 4GCPU core : 4 #> apt install git build-essential fakeroot libncurses5-dev libssl-dev ccach -y 소스 코드가 있는 곳으로 이동 #> cd /usr/src/linux-4.9.99 #> make menuconfig 해당화면이 출력되면 [ / ] 키를 눌러 RCU_NOCB를 검색 ..
2018.12.16 -
리눅스 fork 함수 호출
1. 사용자 프로그램에서 fork()를 호출 2. C언어 라이브러리(libc)에서 fork()를 실행 3. fork() 의 시스템 호출 번호인 2번을 eax 레지스터에 저장하고 int $0x80을 실행하여 인터럽터 80번을 발생 4. IDT 테이블에서 0x80번째 항목을 찾음 5. 0x80 번째에 system_call() 함수의 위치가 저장되어 있기 때문에 함수를 실행 6. syetem_call() 함수는 어셈블리에서 ENTRY(system_call)로 정의 7. fork() 함수를 실행했을 때 C 라이브러리에서 eax 레지스터에 값을 저장 8. [call *sys_call_table(,%eax, 4)]에서 eax 레지스터에 저장된 값 -fork의 시스템 호출 번호는 2번을 이용해서 sys_call_ta..
2018.12.15 -
vi 편집기 분할 사용 / 외부 명령어 사용
vi 편집기에서 :sp 파일명 을 하면 상하로 창이 분할됨 vi 편집기에서 :vsp 파일명 을 하면 좌우로 분할됨 창을 전환하고 싶으면 ctrl + w 를 두번 누르면 다음창으로 넘어간다 외부 명령어를 사용할때는 :! 뒤에 명령어를 사용하면 된다.
2018.11.20 -
TLS_packet export certificate
wireshark 에서 tls 패킷의 인증서(certificate)를 저장하는 방법 우선 패킷에서 Server Hello, Certificate, Server Key Exchange, Server Hello Done이라고 나와있는 tls 패킷을 찾음이후 아래의 순서로 진행 secure sockets layer -> certificate -> handshake protocol -> certificates (xxx bytes) -> certificate(hex) -> encrypted : xxxxxxxxxx -> 마우스 우클릭 -> export packet bytes -> xxx.der or xxx.crt 저장을 하고 나면 아래의 이미지와 같이 인증서파일이 추출된다.이 인증서 파일을 리눅스 서버로 옮긴다. ..
2018.09.30 -
리눅스 시스템 PDT -> KST 타임존 변경
root#> ls /usr/share/zoneinfo root #> ls /usr/share/zoneinfo/Asia root #> ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime root#> date
2018.09.30 -
포인터 계산기
#include #include #include #include #define SIZE_4K 4096 int main(int argc, char *argv[]) { int trim; double num1, num2, result; char str[SIZE_4K] = {0,}; char oper; char *data, *data_tmp; printf("계산할 값을 입력해주세요.(예: 1+3, 2*5 ... 종료: exit)\n"); do { trim = 0; num1 = 0; num2 = 0; result = 0; oper = '\0'; data = NULL; data_tmp = NULL; printf("수식: "); fgets(str, sizeof(str), stdin); data_tmp = (char*..
2018.04.11 -
linux libpcap.h documentation
#define HAVE_REMOTE#include main(){ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* Retrieve the device list from the local machine */ if (pcap_findalldevs(&alldevs, errbuf) == -1) { fprintf(stderr,"Error in pcap_findalldevs(&alldevs, errbuf: %s\n", errbuf); exit(1); } /* Print the list */ for(d= alldevs; d != NULL; d= d->next) { printf("%d. %s", ++i, d->name); if (d..
2018.04.11