출력 구문 분석
grep과 cut
출력 구문 분석은(는) CoddyKit의 무료 Ethical Hacking Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ethical Hacking Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
잡음을 데이터로 바꾸기
도구는 방대한 텍스트를 출력합니다. 정찰 스크립트를 유용하게 만드는 기술은 구문 분석으로, 필요한 IP, 포트, 호스트 이름만 추출하는 것입니다.
이 단원에서는 grep과 cut에 집중하고, 정리 작업에는 sort와 uniq를 사용합니다.
grep으로 필터링
먼저 관련된 줄만 남깁니다. Nmap 출력에서 열린 포트를 가져오려면 open이라는 단어를 기준으로 grep을 실행합니다.
grep 'open' services.txt정확한 일치에 grep -o 사용
grep -o는 줄 전체가 아니라 각 줄에서 일치하는 부분만 출력합니다. 정규식과 함께 사용하면 IP 주소와 같은 정확한 토큰을 추출할 수 있습니다.
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' scan.txt구분 기호로 cut 사용
cut은 구분 기호를 기준으로 각 줄을 필드로 나누고 선택한 필드만 출력합니다. 80/tcp open http에서 포트 번호를 가져오려면 슬래시를 기준으로 cut을 실행합니다.
echo '80/tcp open http' | cut -d/ -f1 # prints 80문자 위치로 cut 사용
cut은 -c를 사용해 문자 범위 기준으로도 자를 수 있으므로 고정 너비 출력에 유용합니다.
echo 'PORT-00443' | cut -c6-10 # prints 00443grep과 cut 연결
grep의 출력을 cut에 파이프로 전달하면 필터링된 줄에서 정확히 하나의 열을 추출할 수 있습니다. 예를 들어 열린 포트 번호를 모두 가져올 수 있습니다.
grep 'open' services.txt | cut -d/ -f1정렬 및 중복 제거
sort는 줄을 정렬하고 uniq는 연속된 중복 항목을 제거합니다(따라서 먼저 sort를 실행하세요). 발생 횟수를 세려면 -c를 추가합니다.
cut -d' ' -f1 access.log | sort | uniq -c | sort -rn구문 분석 가능한 Nmap 출력
Nmap의 구문 분석용 형식(-oG)은 이러한 작업을 위해 만들어졌습니다. 각 호스트가 한 줄에 표시되므로 활성 호스트를 쉽게 추출할 수 있습니다.
grep 'Up' hosts.gnmap | cut -d' ' -f2sed와 tr을 사용한 치환
cut만으로 충분하지 않을 때는 sed로 패턴을 치환하고, tr로 문자를 변환하거나 삭제할 수 있습니다. 예를 들어 쉼표를 줄 바꿈으로 바꿀 수 있습니다.
echo '80,443,8080' | tr ',' '\n'
sed 's/Nmap scan report for //' hosts.txt깔끔한 대상 목록 만들기
이제 모두 결합해 보겠습니다. 활성 IP를 추출하고 중복을 제거한 다음, 다음 도구가 사용할 수 있는 깔끔한 파일을 작성합니다.
grep 'Up' hosts.gnmap | cut -d' ' -f2 | sort -u > live_hosts.txt조건부 열에 awk 사용하기
논리와 열을 함께 처리해야 할 때는 awk를 사용하면 됩니다. 여기서는 구문 분석된 목록에서 1023보다 큰 포트만 출력합니다.
grep 'open' services.txt | awk -F/ '$1 > 1023 {print $1}'빠른 확인
알맞은 필드 추출기를 선택하십시오.
복습
도구의 출력을 사용할 수 있는 데이터로 구문 분석하는 방법을 배웠습니다.
- grep(및
-o)는 일치하는 항목을 필터링하고 추출합니다. - cut은 구분 기호나 문자 위치를 기준으로 필드를 잘라 냅니다.
- sort | uniq -c는 정렬하고 중복을 제거하며 개수를 셉니다.
- 이 명령들을 연결하면 다음 도구에 전달할 깔끔한 대상 목록을 만들 수 있습니다.
다음 주제: 완전한 정찰 도구 만들기
자주 묻는 질문
“출력 구문 분석” 강의는 무료인가요?
네 — “출력 구문 분석” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ethical Hacking Academy 강의 전체를 잠금 해제할 수 있습니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“출력 구문 분석”에서 뭘 배우나요?
grep과 cut 브라우저에서 직접 실행하는 실습 코드로 Ethical Hacking Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Ethical Hacking Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Ethical Hacking Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“출력 구문 분석” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Ethical Hacking Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Ethical Hacking Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.