이번 내용은 리눅스 명령어에 대한 간단한 포스팅입니다!

 

1. netstat -na

 netstat 명령어는 기본적으로 현재 연결되거나 연결되었던 목록을 프로토콜과 함께 보여주는 명령어 입니다. 여기서 -a 옵션을 통해 연결은 물론 연결되었던 목록까지 파악을 할 수가 있습니다.

 

추가적으로 붙은 n에 대해서는 n이 붙게되면 컴퓨터 이름대신 IP주소가 뜨게되어 우리가 분석할 때 보다 쉽게 한 눈에 정보를 파악할 수 있습니다!

때문에 netstat -na를 하시게 되면,

 

다음과 같이 한 눈에 내 PC와 연결된 그리고 연결되었던 목록들을 볼 수 있습니다.

 

2. telnet ip port

특정 ip의 port상태를 확인하기 위한 명령어 입니다.

telnet 연결에서

 

1.) 대기중 

Trying 1.1.1.1....

으로 계속 대기중이라면 이는 방화벽이 오픈되지 않은 경우로 판단할 수 있습니다.

 

     2) Unable to connect to remote host:Connect refused

Trying 1.1.1.1...

telnet: Unable to connect to remote host:Connect refused

다음과 같은 경우에는 방화벽은 오픈되어있으나 포트를열고 대기하고 있지 않은 상태를 말합니다.

 

3) Connect to 1.1.1.1

Trying 1.1.1.1...

Connect to 1.1.1.1

포트를 열고 대기하고 있는 경우를 말합니다. 다음의 상태에서는 통신 테스트를 진행할 수 있습니다.

 

추가적으로 telnet ip옵선에 자신의 IP 즉 localhost를 입력하게되면

 

telnet localhost 5000

 

5000 Port 정보를 확인할 수있는데 이 때 5000 port의 프로토콜이 무엇인지 알 수 있습니다.

 

3. lsof

파일을 open한 기록을 볼 수 있습니다.

 

lsof | more

 

을 해주게되면... (more은 너무 많은 양이 출력될 때 한페이지 씩 나눠서 보기위한 추가 옵션으로 생각하시면 됩니다!!!)

COMMAND(실행한명령), PID(Process ID), USER (명령을 실행한 USER NAME) FD (파일기술자), TYPE(파일 종류), DEVICE(장치 번호), SIZE(파일사이즈), NODE(노드번호), NAME (파일명) 탭으로 구분되어있고 해당 정보를 출력해서 볼 수가 있습니다.

 

4. ps -ef

해당 명령어는 현재 실행중인 프로세스 정보를 출력하는 명령어입니다.

 

간단하게 프로세스를 생성한 유저이름가 프로세스 ID start time, 명령어 정보 등을 알 수 있습니다

 

5. find명령어

find명령어는 기존 블로그에 간단 포스팅을 진행했기 때문에 넘어갈게요~!

 

http://bluemoon-1st.tistory.com/2?category=803830 에서 확인 해주세요

 

6. cat

cat은 간단히 windows의 파일열기와 같은개념으로 cat을통해서 파일 내용을 확인할 수 있습니다.~!

아주 간단한 예시로 Linux의 /etc/crontab 로 들어가게되면 windows taskeng처럼 주기적인 실행 예약 목록이 존재하는데 해당 파일을 cat을통해서 확인이 가능합니다!!!

 

7. ls

ls는 해당 경로에 파일들을 보는 명령어인데 기본 ls 만으로는 숨김파일의 확인이 어렵습니다.

그래서 ls -al 옵션을 주면 숨김파일 확인도 가능합니다.

참고로 리눅스에서 숨김파일은 파일명이 .으로시작하는 파일들이고 ...은 숨김 디렉토리 입니다. 

 

8. ltrace, strace

-strace

해당 명령어는 system call 사용을 추적하는 명령어 입니다.

<option>

-f : 자식프로세스도 추적

-tt: 타임 스탬프표시

-v: 상세 출력

-p PID:이미 실행중인 프로세스 추적하기

 

-ltrace

strace와 같이 추적하는 명령어지만 대상이 system call이아닌 library 입니다!

<option>

-v 상세 출력

-tt 타임스태프 표시

-p PID : 이미 실행중인 프로세스 추적

 

다음과 같은 strace, ltrace명령은 라이브러리 시스템 콜 추적이 가능하기 때문에 공격소스코를 파악할 때 사용하면 아주 편리하게 사용할 수 있습니다.

예를들어 버퍼오버플로우에 사용되는 라이브러리 함수들의 사용 여부를 ltrace를 통해 추적하는 등 다양한 방법으로 응용이 가능할 것 같습니다!

 

9. stat, file

-stat

stat 명령어는 기본적인 파일의 정보를 알 수 있는 명령어로 블럭의 갯수, Inode 값, 소유자, 권한 access, modify, change 등에 대한 시간정보 값도 확인이 가능합니다.

 

-file

file 명령어는 해당 파일의 type을 알려주는 명령어 입니다 실행파일인지 등을 알 수 있습니다.

 

+ Recent posts