liminfo

System Call Reference

Linux 시스템 콜 레퍼런스

26개 결과

System Call Reference 소개

Linux 시스템 콜 레퍼런스는 핵심 리눅스 커널 시스템 콜의 x86(32비트) 및 x64(64비트) syscall 번호, 함수 시그니처, C 코드 예제를 정리한 검색 가능한 치트 시트입니다. 파일 I/O(open, read, write, close, stat, lseek), 프로세스 관리(fork, execve, exit, wait4), 메모리(mmap, munmap, mprotect, brk), 네트워크 소켓(socket, connect, bind, listen, accept), 시그널(kill, rt_sigaction, alarm), IPC(pipe, 공유 메모리, dup2) 총 6개 카테고리로 구성됩니다.

시스템 프로그래머, 커널 개발자, CTF 참가자, 보안 연구원, 운영체제 수업을 듣는 컴퓨터 과학 학생을 위해 설계되었습니다. 각 항목에 x86과 x64 아키텍처별 정확한 syscall 번호가 포함되어 있어 어셈블리 프로그래밍과 리버스 엔지니어링에 필수적입니다.

모든 콘텐츠는 서버 의존 없이 브라우저에서 즉시 로드됩니다. 키워드 검색, 카테고리 필터링, 다크 모드, 반응형 레이아웃을 지원합니다.

주요 기능

  • 각 시스템 콜의 x86(eax) 및 x64(rax) syscall 번호 완비
  • 올바른 함수 시그니처와 사용 패턴을 보여주는 C 코드 예제
  • 파일 I/O syscall: open, read, write, close, stat, lseek와 플래그 상수
  • 프로세스 관리: fork, execve, exit, wait4의 자식 프로세스 처리 예제
  • 메모리 관리: mmap, munmap, mprotect, brk와 보호 플래그 조합
  • 네트워크 소켓: socket, bind, listen, accept으로 TCP 클라이언트/서버 구성
  • 시그널 처리: kill, rt_sigaction, alarm과 핸들러 등록 패턴
  • IPC 메커니즘: pipe, 공유 메모리(shmget/shmat), 파일 디스크립터 복제(dup2)

자주 묻는 질문

이 레퍼런스에는 어떤 시스템 콜이 포함되어 있나요?

24개의 핵심 Linux 시스템 콜이 6개 카테고리로 정리되어 있습니다. 파일(open, read, write, close, stat, lseek), 프로세스(fork, execve, exit, wait4, getpid/getppid), 메모리(mmap, munmap, mprotect, brk), 네트워크(socket, connect, bind, listen/accept, sendto/recvfrom), 시그널(kill, rt_sigaction, alarm), IPC(pipe, shmget/shmat, dup2)를 다룹니다.

32비트와 64비트 syscall 번호가 모두 포함되어 있나요?

네. 각 항목에 x86 32비트(eax 레지스터)와 x64 64비트(rax 레지스터) syscall 번호가 함께 표시됩니다. 예를 들어 write는 x86에서 eax=4, x64에서 rax=1입니다. 어셈블리 프로그래밍과 익스플로잇 개발에 필수적인 정보입니다.

익스플로잇 개발이나 CTF에 어떻게 활용할 수 있나요?

셸코드 작성에 필요한 정확한 syscall 번호와 인자 규약이 제공됩니다. execve(rax=59), dup2를 이용한 파일 디스크립터 리다이렉트, mprotect로 메모리 실행 권한 설정, socket/connect로 리버스 셸 구성 등 일반적인 익스플로잇 기법의 기본 요소를 담고 있습니다.

네트워크 프로그래밍 관련 시스템 콜은 무엇이 있나요?

네트워크 카테고리에서 TCP 클라이언트/서버의 전체 워크플로우를 다룹니다. socket 생성(AF_INET, SOCK_STREAM), sockaddr_in 설정을 포함한 connect, 포트 bind, listen의 backlog 설정, accept로 수신 연결 수락, UDP용 sendto/recvfrom을 모두 C 코드와 x64 syscall 번호로 설명합니다.

메모리 관리 섹션은 어떤 내용을 다루나요?

익명 및 파일 기반 메모리 매핑을 위한 mmap(PROT_READ, PROT_WRITE, PROT_EXEC 플래그 포함), 매핑 해제를 위한 munmap, 런타임 페이지 권한 변경을 위한 mprotect(JIT/셸코드 실행에 필수), 힙 관리를 위한 brk/sbrk를 다룹니다.

특정 시스템 콜을 이름이나 번호로 검색할 수 있나요?

네. 검색바에 "fork"나 "mmap" 같은 시스템 콜 이름을 입력하면 실시간으로 결과가 필터링됩니다. 카테고리별로 탐색하여 파일이나 네트워크 등 특정 도메인의 모든 시스템 콜을 확인할 수도 있습니다.

대학교 운영체제 수업에 적합한가요?

운영체제 수업에서 다루는 핵심 시스템 콜을 모두 포함합니다. fork/execve를 이용한 프로세스 생성, 파일 디스크립터 관리, 메모리 매핑, pipe와 공유 메모리를 이용한 프로세스 간 통신, 시그널 처리 등의 C 코드 예제는 수업에서 바로 활용할 수 있습니다.

코드 예제는 바로 컴파일할 수 있나요?

예제는 올바른 인자 타입과 반환값 처리를 보여주는 핵심 함수 호출을 담고 있으며, 복사하여 바로 사용할 수 있는 간결한 스니펫입니다. 완전한 컴파일을 위해서는 표준 헤더(unistd.h, sys/socket.h 등)와 main 함수를 추가해야 할 수 있습니다.