file
, strings
, cat
명령어 비교 분석명령어 | 기능 요약 | 주요 용도 | 대상 파일 | 출력 형태 |
---|---|---|---|---|
file | 파일의 종류(타입) 식별 | 파일이 텍스트인지, 실행 파일인지, 이미지인지 등 판단 | 모든 파일 | "ELF 64-bit", "ASCII text", 등 |
strings | 바이너리 파일에서 사람이 읽을 수 있는 문자열 추출 | 포렌식, 악성코드 분석, 숨겨진 정보 탐색 | 바이너리, 로그, 덤프 등 | ASCII/유니코드 문자열 |
cat | 파일 내용을 그대로 출력 | 로그 확인, 텍스트 내용 확인 | 일반 텍스트 파일 | 원본 그대로 |
file
– 파일 타입 확인file myapp
출력 예시:
myapp: ELF 64-bit LSB executable, x86-64, dynamically linked ...
strings
– 실행 파일 내부 문자열 추출strings myapp
출력 예시:
/lib64/ld-linux-x86-64.so.2
libc.so.6
/tmp/suspicious.sh
/bin/bash
grep
과 조합해 키워드 필터링 가능:strings myapp | grep '/bin'
cat
– 파일 내용 그대로 출력cat config.txt
출력:
PORT=8080
ENV=production
cat myapp
출력:
목적 | 추천 명령어 | 이유 |
---|---|---|
파일이 바이너리인지 텍스트인지 확인 | file | 파일 메타 정보 분석 |
실행 파일 내 포함된 문자열 추출 | strings | 숨겨진 명령, URL, 환경변수 탐색 |
텍스트 파일 단순 출력 | cat | 원본 내용 그대로 보기 |
로그나 설정 파일 구조 보기 | cat , less | 텍스트 파일에 적합 |
악성코드/취약 코드 분석 시작점 | file + strings | 정적 분석의 기초 |