728x90

1. ping


ICMP는 전달을 막는 문제('Destination Unreachable' 오류 등)를 보고하는 작업

요청과 응답 메시지를 통해 네트워크를 조사하는 작업(ping 에서의 'Echo Request'와 'Echo Reply'  ICMP 메시지등)에 사용이 된다.

사용자가 ICMP Echo Request 메시지를 전송하고 목적지 시스템에서 ICMP Echo Reply 메시지로 응답을 받는 데 걸리는 시간을 측정하여 네트워크 연결을 검사할 수 있다.


2. ifconfig

ifconfig 에서의 패킷 충돌률 계산 -

ifconfig 결과에서 (collisions/TX Packets)*100을 하면 충돌률이 나오는데 충돌률이 높게 나오면 네트워크가 포화되었을 가능성이 높으며 이러한 경우에는 트래픽 부하를 줄이기 위해 네트워크를 나눌 필요가 있다. 입력 에러(RX errors)와 출력 에러(TX errors)는 0에 근접한 값이어야 하는데 네트워크의 포화나 네트워크의 물리적인 문제를 나타낼 가능성이 크다.



3. arp

이더넷/ip 주소 변환에 대한 정보를 제공한다. 커널의 arp 캐쉬에 있는 정보를 설정할 수 있다.

 

 

4. traceroute

핑이 다른 장비간의 연결 상태를 확인시켜 준다면 traceroute는 데이터그램이 원격 장비에 도달하는데 거치는 경로를 확인시켜 준다.

 


5. netstat

서버 애플리케이션은 수동적인 개설을 요청하고 클라이언트는 서버로의 능동적인 개설을 요구하여 등록 절차를 거친다. 등록이 되면 애플리케이션은 가상 회선에 연결되고 가상 회선은 종결할 때까지 여러가지 상태변화를 겪는다. 서버가 처음 적재될 때 서버는 LISTEN 상태로 전이하고 연결 요청을 기다린다. 연결 요청이 도착하면 가성 회선은 SYN-RECEIVED 상태에 들어간다. 핸드쉐이킹 절차가 끝나면 가상 회선을 통해 데이터를 교환하기 전에 가상회선이 ESTABLISHED 상태로 변화하고 애플리케이션이 종결되면 가상 회선은 누가 어떻게 종결했는지에 따라 여러가지 다른 ENDING 상태 중 하나로 들어간다.

 

** 표 1 가상 회선의 상태와 의미

회선 상태

의미

ESTABLISHED

3단계 핸드쉐이킹 후 연결 성립

SYN_SENT

원격 호스트에 능동적인 개설 요청(능동적 열기)

SYN_RECV

네트워크 통한 연결요청 받음(수동적 열기)

FIN_WAIT1

능동적 닫기(active close) 요청을 한 상태

FIN_WAIT2

로컬에서 종결(FIN)세그먼트를 전송하였고 원격 시스템에서 이에 대한 확인메시지를 수신하였지만 원격 애플리케이션이 작업을 종료하지 않아 원격 호스트의 종결 세그먼트를 기다리는 상태

TIME_WAIT

회선의 종결 절차가 완료되었지만 분실되었을지 모르는 느린 세그먼트를 위해 소켓을 열어 놓고 유지하고 있는 상태

CLOSED

회선이 종결되고 모든 자원을 해제한 상태

CLOSE_WAIT

수동적 닫기를 하고 있는 상태로 FIN 종결 세그먼트를 수신하고 이에 대한 확인 메시지를 전송한 상태

LAST_ACK

FIN 종결 요청을 받고 로컬에서도 회선 종결에 합의하여 종결을 요청(FIN)한 상태로 이에 대한 확인 메시지가 수신되면 회선이 종결됨

LISTEN

서버 애플리케이션에서 수동적 열기로 연결 요청을 기다리고 있는 상태

CLOSING

로컬 TCP는 FIN_WAIT_1에서 설명한대로 FIN 종결 세그먼트를 전송하였고 LAST_ACK에서 설명한대로 원격 시스템의 종결 세그먼트도 수신하였지만 FIN_WAIT_1 단계에서 전송한 세그먼트에 대한 확인 메시지(ACK)를 수신하지 못한 상태로 보통 확인 메시지가 전송 도중 분실되었다는 것을 나타냄

UNKOWN

소켓의 상태에 대해서 확인이 안되는 경우

 

 

6. tcpdump

 -a : 네트워크와 브로드캐스트 주소를 이름으로 바꾼다.

 c n : 지정된 n 개수만큼 패킷을 캡쳐한후 종료한다

 i device : 해당 device의 패킷만 캡쳐한다. 지정하지 않으면 시스템의 인터페이스 리스트를 뒤져서 가장 낮은 번호의 인터페이스를 선택한다. (이때 loopback은 제외)

 F file : 필터 표현의 입력으로 파일을 받아들인다.

 -q : 간략한 정보만 출력한다.

 r file : -w 옵션으로 만들어진 파일에서 패킷을 읽어들인다

 s length : 패킷에서 추출할 길이를 지정한다. 기본값은 68바이트이며 프로토콜에 따라 신중하게 수정을 해야한다

 v : 자세한 정보를 보여준다

 w : 캡처한 패킷을 파일로 저장한다. 위에서 r 옵션을 이용하여 이후에 분석할 수 있다

 

여기에 조건식을 주어서 출력할 패킷을 지정할 수 있다. Type을 이용하여 host, net, port 등을 지정할 수 있고 dir을 이용하여 특정한 전송방향을 지정할 수 있다. 또한 ip, arp, tcp, udp등의 프로토콜을 지정할 수 있다. 이외에도 and(&&), or(||), not(!) 등을 사용하여 정교하게 제한을 걸 수 있다.

tcpdump -i eth0 host 192.168.0.14

tcpdump ip host taejun and not temp

.

.

 

 

7. sof

LiSt Open File의 약자로 프로세스에서 사용하고 있는 파일에 대한 정보를 보여준다. 여기에서 파일은 정규 파일, 디렉토리, 라이브러리, 소켓 파일등을 포함한다.

 

-a : 각각의 옵션을 and 연산하여 처리하는 경우 사용함. a  옵션이 없으면 or 연산이 된다

-b : 블락될 수 있는 커널 함수를 실행하는 것을 방지한다.

-c : 옵션에 지정한 프로그램의 프로세스가 사용하고 있는 파일

-g : 지정한 프로세스 그룹 아이디를 가진 모든 프로세스들이 사용하고 있는 파일

-i : 해당 인터넷 주소에서 사용하고 있는 파일.

-l : 로그인 아이디대신 UID로 출력함

-n : ip는 도메인 네임으로 변환하지 않음. 속도 빨라짐

-N : NFS 파일

-p : 프로세스 아이디에 해당하는 파일

-s : 항상 파일 크기 출력함

-u : 로그인 아이디나 사용자 ID 번호(UID)에 해당하는 파일

-U : UNIX 도메인 소켓파일

 

 

 

## 참고자료

TCP/IP 네트워크 관리.박창민 역. 한빛미디어

UNIX 피해 시스템 분석 및 침입자 모니터링 : Part I v1.0 (한국정보보호진흥원)

HTTP://www.certcc.or.kr/paper/tr2001/tr2001-03/Scene-of-the-Crime.pdf

출처 : http://blog.naver.com/guruda/50005481584

728x90

'Programming > linux왕초보' 카테고리의 다른 글

shell programming - 목록과 함수  (0) 2008.09.11
shell programming - 명령 실행  (0) 2008.09.11
shell programming  (0) 2008.09.11
shell programming - 명령어  (0) 2008.09.11
crontab 사용  (0) 2008.09.11
실행중인 리눅스 관리하기  (0) 2008.09.10
리눅스 gcc 설치 방법  (0) 2008.09.10
CRON  (0) 2008.09.10
리눅스에서 압축파일 다루기  (0) 2008.09.10
iptables  (0) 2008.09.10

+ Recent posts