-
리눅스 명령어 정리 (2)Pentesting/Linux 2019. 1. 17. 19:27▷ logger 명령어:운영체제의 주요 로그 저장 파일(/var/log/messages)에 메시지를 저장한다.[문법]: logger [옵션] [메시지][옵션]: -f 파일에 로그를 기록한다, -i 작성되는 로그마다 프로세스ID를 포함, -p 우선권이 있는 메시지를 저장[TEST]>logger -i 'date' Shell Scripting!>tail /var/log/messages...Dec 19 06:54:32 localhost root[30738]: 2014.12.19. (금) 06:54:32 KST Shell Scripting!...▷ lsof 명령어:lsof(list open files) 명령어는 시스템에서 열린 파일 목록을 알려주고 사용하는 프로세스,디바이스 정보, 파일의 종류 등을 표시[문법]: lsof [옵션][옵션]: -u 사용자를 지정하여 출력, -i 특정 포트를 사용하는 프로세스를 출력(단일포트 lsof -i TCP:80)(포트범위: lsof -i TCP:22-1024), -c 특정 명령어가 사용하는 프로세스를 출력(lsof -c httpd)+D 지정된 디렉터리 하위에 열려 있는 프로세스를 출력(lsof +D /home/user1)[TEST]>lsof -i TCP:8080번포트 사용하는 프로세스 출력........>lsof /var/log/messages시스템의 로그들이 저장되는 messages 파일을 사용한 프로세스를 출력한 결과.......▷ netstat 명령어:현재 시스템에 연결되어 있는 네트워크 연결 상태 및 포트 정보를 표시[문법]: netstat [옵션][옵션]: -r 커널의 라우팅 테이블 정보를 출력, -i 네트워크 인터페이스 테이블 정보를 출력-g 멀티캐스트 그룹 정보를 출력, -s 네트워크 통계 요약을 출력, -M 매스커레이드된 연결 목록을 출력-v 상세정보 출력, -n 숫자 형태의 IP주소로 출력, -c 매초마다 정보를 최신화하여 출력-p 소켓을 사용하는 프로그램의 PID를 출력, -l LISTENING 상태의 소켓을 출력[TEST]>netstat현재 시스템과 연결된 시스템들의 정보를 출력....>netstat -nr숫자형태의 IP주소와 커널의 라우팅 테이블 정보를 출력▷ nl 명령어:텍스트 형태의 파일을 읽어 행 번호를 부여한다.[문법]: nl [옵션] [텍스트 형태 파일][옵션]: -b 본문에 번호를 붙이는 데 스타일을 사용, -d 논리적 페이지를 구분, -f 꼬리말에 번호를 붙힘-h 머리말에 번호를 붙힘, -i 각 줄의 줄 번호를 증가, -l 지정된 숫자만큼의 줄은 하나로 취급[TEST]>nl /etc/passwd▷ ntpdate 명령어:지정된 time 서버로부터 시간 정보를 동기화[문법]: ntpdate [옵션] [time 서버 주소][옵션]: -d 시간 동기화 실패 시 원인을 위해 디버깅을 할 때 활용, -q 시스템의 시간을 설정하지 않고시간정보만을 확인, -s 표준 시간 정보를 시스템 로그에 전달, -t timeout 대기 시간을 설정, -v 상세정보[TEST]>ntpdate time.nuri.net시간동기화 실패>ntpdate -d time.nuri.net실패 디버깅 로그 출력......시간동기화 실패▷ ping 명령어:IMCP 프로토콜을 이용하여 네트워크에 연결된 호스트의 연결 상태를 확인하고, 호스트 간에 패킷이왕복된 시간을 측정하여 표시[문법]: ping [옵션] [호스트주소][옵션]: -b 브로트캐스트 주소로 패킷을 보냄, -c 지정된 숫자만큼만 패킷을 보냄, -i 지정된 간격으로 패킷을 보냄[TEST]>ping -c 5 192.168.159.130ping~ping~ping~ping~ping~ 5번 ....▷ pmap 명령어:시스템의 프로세스 ID를 기준으로 메모리 맵 정보를 출력[문법]: pmap [옵션] [PID][옵션]: -x 확장된 형식으로 출력, -d 디바이스 형식으로 출력, -q 간단한 요약 정보를 출력[TEST]>pmap -x 2755 (2755는 PID)....출력▷ pr 명령어:텍스트 파일을 인쇄가 가능한 표준 출력 형식으로 변환[문법]: pr [옵션] [파일][옵션]: -D 머리말의 날짜 형태를 지정, -e 텝의 너비를 지정, -J 모든 행을 합침-s 열 구분자를 지정, -n 행의 번호를 지정, -t 머리말과 꼬리말을 생략[TEST]>ps -ef | pr시스템의 프로세스 상태를 출력할 수 있도록 ps명령어의 결과를 pr명령어로 파이프 지정한 예제..▷ ps 명령어:현재 시스템의 프로세스 상태를 출력[문법]: ps [옵션][옵션]: -A 모든 프로세스를 출력, -e 커널 프로세스를 제외한 모든 프로세스를 출력-C 지정된 명령어에 대한 정보를 출력, -G 지정된 그룹 ID에 대한 정보를 출력-t tty를 지정하여 정보를 출력, -f 모든 형태의 정보를 출력, -H 프로세스를 계층형으로 출력-m 쓰레드 정보를 출력, -u 사용자 ID를 지정[TEST]> ps -u nobody -fnobody 사용자의 모든 형태의 정ㄹ보를 확인....▷ pwd 명령어:현재 작업중인 디렉토리 명 출력▷ route 명령어:네트워크 라우팅 테이블을 출력하거나 설정[문법]: route [옵션] [명령][옵션]: -v 자세한 정보를 출력, -n 숫자인 IP주소 형태로 출력, -e 라우팅 테이블 정보를 확장된 형태로 출력-F 시스템 커널의 FIB 라우팅 테이블 정보를 출력[명령어]add IP주소를 입력한다gw 게이트웨이를 설정한다netmask 넷마스크를 설정dev 장치를 설정mss 최대 TCP세그먼트 사이즈를 설정del IP주소를 삭제[TEST]>route -n라우팅 정보 확인..>route add default gw 192.168.159.10default 게이트웨이를 추가>route del defaultdefault 게이트웨이를 삭제▷ script 명령어:터미널에서 수행하는 작업들을 텍스트 형식으로 저장[문법]:script [옵션] [저장파일][옵션]:-a 기존 파일에 작업 내용을 추가, -f 출력 화면을 깨끗하게 정리, -q 메시지를 출력하지 않음※ 특정 사용자 profile에 script 명령어를 추가하여 특정 계정 사용자들이 로그인해서 작업한 내용을확인해야 할 때도 유용하게 활용 가능.[TEST]>script script.logScript started, file is script.log>ls.....>ps.....>exitScript done,file is script.log>pr script.log | more위 명령어들과 출력들이 다 저장됨▷ sort 명령어:텍스트 파일을 행 단위로 정렬[문법]: sort [옵션] [파일][옵션]: -d 알파벳과 숫자를 사전순으로 정렬, -f 대소문자를 구별하지 않는다 ,-r 내림차순으로 정렬-m 이미 정렬된 파일을 병합, -t 필드를 구분하는 구분자를 지정, -k 각 행의 지정된 필드를 기준으로 정렬[TEST]>ls -al | sort -rk 5..파일 용량순 내림차순 정렬...▷ tail 명령어:텍스트 파일의 마지막 행의 내용부터 출력[문법]:tail [옵션] [파일][옵션]:-c 지정된 마지막 바이트 만큼 내용을 출력, -f 명령을 종료하지 않고 추가되는 내용을 실시간 출력-n 마지막 행부터 n행 까지의 내용을 출력[TEST]>tail -7 /var/log/messages마지막 행에서 7번째 행까지의 내용을 출력▷ tar 명령어:여러 파일들을 하나의 파일로 묶는다.[문법]:tar [옵션] [생성파일.tar] [묶을 대상 파일][옵션]: -c tar파일을 만들 때 사용, -x 묶어진 파일을 해제할 때 사용, -v 파일을 묶거나 해제할 때파일들의 이름과 크기를 표시, -f 사용할 tar 파일을 지정, -t 묶여진 tar 파일의 내용물을 출력[TEST]>tar -cvf ch_4.tar /test/ch_4-cvf 옵션을 사용하여 /test/ch_4의 파일 및 디렉토리를 ch_4.tar로 묶는 작업>tar -xvf ch_4.tar-xvf 옵션을 사용하여 묶은 것을 해제▷ time 명령어:특정 프로세스나 명령어에 사용된 시스템 자원 정보를 출력[문법]: time [옵션] [명령어][옵션]: -f 지정한 출력 형식에 맞춰 표시-p 지정된 형식으로 정보를 출력..* %(형식)의 의미%E 경과된 시간%S 커널 모드에서 프로세스가 사용한 CPU 시간%U 유저 모드에서 프로세스가 사용한 CPU 시간%P 작업 시 사용한 CPU 작업량(%)............(생략)▷ touch 명령어:0바이트의 빈 파일을 생성하거나, 기존 파일이 있을 경우 파일의 수정 시간을 현재 시간으로 변경[문법]: touch [옵션] [파일][옵션]: -a 최근 파일 사용 시간을 변경, -c 파일이 이미 존재하지 않는다면 새로 만들지 않는다-t 현재 시간 대신 지정된 시간을 변경, -m 최근 파일 변경 시간을 변경[TEST]>touch -t 200206252310 touch.test-t옵션을 이용하여 기존의 touch.test 파일의 생성 또는 변경 시간을 2002년 6월 25일 23시 10분으로 조정▷ tr 명령어:특정 문자를 다른 문자로 변경할 때 사용되며, 대부분 재지정 시 활용[문법]: tr [옵션] [문자열1] [문자열2][옵션]: -d 지정된 문자열을 삭제, -s 지정된 문자열에서 반복되는 문자를 삭제, -t 문자열1을 문자열2의 길이로 자름[TEST]>more tr.testLINUX_UNIX_Shell Script>tr "a-z" "A-Z" < tr.testLINUX_UNIX_SHELL_SCRIPT>more tr.testlinux_UNIX_Shell Script>tr -d "_" < tr.testLinuxUNIXShell Script▷ traceroute 명령어:네트워크 경로를 확인하기 위해 패킷이 거쳐 가는 경로를 추적하여, 경로 중에 네트워크 부하가 높은곳을 찾을 때 활용[문법]:traceroute [옵션] [호스트주소][옵션]: -m 홉 수를 지정, -n IP 주소가 안보이도록 설정, -q 패킷 수를 지정, -w timeout을 지정▷ uptime 명령어:평균 시스템 부하 정보를 출력[TEST]>uptime22:10:33 up 2 days, 20:53, 3users, load average: 0.00, 0.00, 0.00시스템이 시작된 시간, 현재 사용자 수, 평균 부하량을 확인..▷ vmstat 명령어:가상 메모리 상태를 확인[문법]: vmstat [옵션][TEST]> vmstat 1 31초마다 3번점검......[컬럼별 의미]prcos - r : cpu 접근 대기 중인 프로세스 수- b : 인터럽트가 불가능한 프로세스 수memory - swpd : 사용된 가상 메모리 양- free : 여유 메모리- buff : 버퍼에 사용된 메모리- cache : 캐시에 사용된 메모리swap - si : 디스크로부터 스왑된 메모리 양- so : 디스크에 스왑된 메모리 양io - bi : 블록 장치로 보낸 블록- bo : 블록 장치에서 받아온 블록system - in : 초당 인터럽트 수- cs : 초당 컨텍스트 스위칭 작업 수cpu - us : 커널 코드가 아닌 작업의 구동 시간- sy : 커널 코드의 작업 구동 시간- id : 유휴 대기 시간- wa : 입출력을 위한 대기 시간- st : 가상머신으로부터 손실된 시간▷ w 명령어:시스템에 로그인한 사용자의 정보를 출력[문법]: w [옵션][옵션]: -h 헤더 정보를 출력하지 않는다, -s 간략한 요약 정보를 출력한다.
'Pentesting > Linux' 카테고리의 다른 글
peda 설치 및 명령어 (0) 2019.11.14 웹서버 access 로그 분석 구문 (0) 2019.10.23 간단한 명령어 반복 실행 스크립트 (0) 2019.08.07 리눅스 명령어 정리 (3) (0) 2019.02.13 리눅스 명령어 정리 (1) (0) 2019.01.17 댓글