출력
Posts
44 poststshark에서 패킷의 특정 정보(field)만 출력하기
tshark에서 패킷 관련 정보를 출력할 때 보고 싶은 특정 정보만 표시하도록 할 수 있다. 예를 들어 my_data.pcap 파일에서 다른 정보는 다 필요 없고 패킷 출현시간, 송신자 IP주소, 수신자 IP주소, 이렇게 세가지 항목만 출력하고 싶을 수 있다. 이런 경우 "-T fields" 옵션을 사용하고 -e 옵션으로 항목을 지정한다. 예시를 보면 금방 감이 잡힐 것이다. # my_data.pcap 파일에서 출현시간, 송신자 IP주소, 수신자 IP주소만 출력 tshark -r my_data.pcap -T fields -e frame.time -e ip.src -e ip.dst 위의 예시를 보면, -r 옵션으로 my_data.pcap 파일을 읽으라고 지정해 주고 -T fields 옵션과 -e
capinfos - pcap 파일 정보 출력
capinfos는 wireshark/tshark에 포함되어 같이 설치되는데(wireshark/tshark에 대한 내용은 이전 게시물을 참고하자. 여기로), pcap 파일에 대한 다양한 정보를 출력해 준다. 파일에 포함된 패킷의 수, 패킷 캡처 시작/종료 시각 등을 확인할 때 편리하다. 몇가지 예시를 보면 금방 감이 잡힐 것이다. # test.pcap 파일에 저장된 패킷의 수 출력(-c 옵션) capinfos -c test.pcap File name: test.pcap Number of packets: 4,556 # test.pcap 파일의 캡처 시작 시간 출력(-a 옵션) capinfos -a test.pcap File name: test.pcap First packe
[bash: awk] 다수의 문자열을 검색하여 일치하는 부분만 출력하기(match, substr)
우선, awk에서 match 함수와 substr 함수를 활용해서 특정 문자열 패턴을 검색하고 일치하는 부분만 출력하는 방법은 이전 게시물을 참고하자. 여기로. 일단 기본적인 예시는 아래와 같다. 행 전체($0)에서 문자열 "abc"가 있으면 일치하는 부분만 출력한다. echo "abcdefg" | awk 'match($0,/abc/) { print substr($0,RSTART,RLENGTH) }' abc 여기서는 입력에 대해 검색하고자 하는 문자열 패턴이 여러개일 경우를 생각해 보려고 한다. 예를 들어 탭(tab)을 항목 구분자(field separator)로 사용하는 입력에서 두번째 항목($2)에 문자열 "abc"가 있는지 확인하고 세번째 항목($3)에 3개의 연속된 수자(정규표현식
[bash: sed] 특정 행부터 파일 마지막까지 출력하기
우선, sed 명령으로 파일의 특정 범위를 출력하는 기본적인 방법은 이전 게시물을 참고하자. 여기로 # my_file.txt 파일의 12번째 행만 출력 sed -n 12p my_file.txt # my_file.txt 파일의 3번째 행부터 12번째 행까지 출력 sed -n 3,12p my_file.txt 예를 들어, my_file.txt 파일이 총 몇개의 행으로 이루어져 있는지 확인하지 않고 어쨌든 3번째 행부터 마지막까지 출력하려면 아래와 같이 할 수 있다. # my_file.txt 파일의 3번째 행부터 마지막 행까지 출력 sed -n "3,\$p" my_file.txt 마지막 행을 지칭하는 기호가 "$"인데, 셸(shell)에서 변수를 지칭하는 것으로 해석되지 않도록 역

