lsof

2012. 1. 19. 03:22개발/서버

1. lsof 란?
2. lsof 활용법
3. 해킹 추적
4. 결론

____

1. lsof 란?


]# whatis lsof
lsof (8) - list open files ( 열려진 파일들을 보는 명령어 )

일반적으로 시스템에서 동작하고 있는 모든 프로세스에 의해서 열리어진 파일들에 
관한 정보를 보여주는 시스템 관리 명령어


2. lsof 활용법


2.1. lsof 파일명

지정한 파일을 엑세스 하고 있는 프로세스의 정보를 보여준다.

]# lsof /usr/sbin/proftpd 
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
proftpd 647 nobody txt REG 8,2 433516 209221 /usr/sbin/proftpd

2.2. lsof /tmp

지정한 디렉토리를 엑세스 하고 있는 프로세스의 정보를 보여준다.

]# lsof /tmp
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
libhttpd. 27187 root 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27318 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27319 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27320 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)
libhttpd. 27321 nobody 3u REG 7,0 0 13 /tmp/ZCUD5mDv1l (deleted)

2.3. lsof -i 

모든 네트워크 연결되어 있는 프로세스와 파일을 정보를 보여준다.

]# lsof -i
sshd 586 root 3u IPv4 1877 TCP *:ssh (LISTEN)
xinetd 600 root 5u IPv4 1943 TCP *:pop3 (LISTEN)
sendmail 619 root 4u IPv4 1962 TCP *:smtp (LISTEN)
proftpd 647 nobody 0u IPv4 315947 TCP *:ftp (LISTEN)
mysqld 708 mysql 3u IPv4 2652 TCP *:mysql (LISTEN)


ex)lsof -iTCP ; lsof -iUDP
tcp 나 혹은 UDP를 걸러서 볼때 사용한다.



2.4. lsof -c 데몬명

지정한 데몬과 연결되어 있는 프로세스와 파일을 정보를 보여준다.

]# lsof -c proftpd
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
proftpd 647 nobody cwd DIR 8,3 4096 2 /
proftpd 647 nobody rtd DIR 8,3 4096 2 /
proftpd 647 nobody txt REG 8,2 433516 209221 /usr/sbin/proftpd
proftpd 647 nobody mem REG 8,3 106424 15973 /lib/ld-2.3.2.so
proftpd 647 nobody mem REG 8,3 23404 15994 /lib/libcrypt-2.3.2.so
proftpd 647 nobody mem REG 8,3 30488 17917 /lib/libpam.so.0.75
proftpd 647 nobody mem REG 8,3 1571340 95813 /lib/tls/libc-2.3.2.so
proftpd 647 nobody mem REG 8,3 14888 15996 /lib/libdl-2.3.2.so
proftpd 647 nobody mem REG 8,3 8612 17914 /lib/liblaus.so.1.0.0
proftpd 647 nobody mem REG 8,3 51908 16016 /lib/libnss_files-2.3.2.so
proftpd 647 nobody 0u IPv4 315947 TCP *:ftp (LISTEN)
proftpd 647 nobody 4r REG 8,3 3509 82811 /etc/passwd
proftpd 647 nobody 5r REG 8,3 1241 83170 /etc/group


2.5. lsof -p 프로세스ID

지정한 프로세스와 관련된 프로세스와 파일의 정보를 보여준다.

]# lsof -p 1
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 8,3 4096 2 /
init 1 root rtd DIR 8,3 4096 2 /
init 1 root txt REG 8,3 27036 16204 /sbin/init
init 1 root mem REG 8,3 1571340 95813 /lib/tls/libc-2.3.2.so
init 1 root mem REG 8,3 106424 15973 /lib/ld-2.3.2.so
init 1 root 10u FIFO 8,3 71415 /dev/initctl


3. 해킹 추적

3.1. 시나리오 

]#lsof -i -> 기본 포트연것을 확인한다.
]#lsof -p -> 프로세스를 분석한다.
]#lsof /home/홈페이지 디렉토리 -> 특정디렉토리에 있는 프로세스 검사
]#lsof /tmp -> 임시파일 관련 프로세스 분석
]#lsof /dev -> 정규 해킹 디렉토리 분석


각종 정보를 수집해고 정리 및 대응을 한다.

4. 결론

보안 관련된 일을 하는 사람은 반드시 마스터해야한다.





'개발 > 서버' 카테고리의 다른 글

hosts.allow  (0) 2012.02.05
sysstat 를 이용하여 시스템 모니터링 하기  (0) 2012.02.05
named  (0) 2011.12.22
Crontab을 이용한 ftp 파일 자동 전송받기  (0) 2011.12.21
VSFTP  (1) 2011.12.21