2017-02-02 2 views
1

tcpdump 파일이 있는데 몇 줄이나 패킷이 전송되었는지 인쇄하고 싶습니다.tcpdump 한 줄에 출력

저는 tcpdump -r 명령을 사용하고 있습니다 만, 동일한 프로토콜을 사용하는 경우에도 일부 출력이 두 줄 (아래 그림 참조)에 걸쳐 펼쳐져있는 것처럼 보입니다.

제 질문은 새 줄에 나타나지 않고 총 줄을 인쇄하는 방법입니다.

Wireshark GUI를 사용하여 테스트했으며 3188 줄이 있어야하지만 Linux 명령 줄을 사용하여이 작업을 수행하고 싶습니다.

enter image description here

답변

0

당신이 -S 매개 변수를 덜 사용하여 줄 바꿈을 피할 수있는 텍스트 파일의 tcpdump에 출력의 내용이있는 경우. 적은 수동에서

:

-S 또는 --chop 긴 라인 화면 너비보다 긴 라인을 원인 다진 (절단)보다는 포장합니다. 즉, 화면 너비에 맞지 않는 긴 줄 의 부분은 표시되지 않습니다. 긴 줄을 줄이기 위해 기본값은 입니다. 즉, 다음 행에 나머지를 표시합니다.

-N 매개 변수와 함께 사용하면 행 수가 표시됩니다. I을 어떻게

0

당신이 그들을 잘라해야합니다, 그것은 새로운 행에 표시하고 긴 줄이 포장하지 않으려면 라인

의 총을 인쇄 할 수 있도록. cut 명령을 사용하여이 작업을 수행 할 수 있습니다. 예를 들면 : 당신이 이 출력 라인의 수를 계산하려면

tshark -r file.pcap | cut -c -80 

는, 당신은 그래서 wc 명령을 사용 할 수 있습니다.

tshark -r file.pcap | wc -l 

: 예를 들어 당신이 긴 줄을 자르거나하지 여부, 라인 수의 수는 동일하게 유지됩니다. 긴 줄이 감싸 졌다고해서 줄 수가 증가하지 않는다는 의미는 아닙니다. 그렇지 않습니다. 따라서 긴 줄을 잘라내 기가 정말 필요하다면 반대하는 것이 좋습니다. 그렇지 않으면 좋은 이유없이 잠재적으로 유용한 정보를 잘라 버리는 것입니다.

당신이 긴 줄을 절단 할 경우 말했다 당신은 또한 라인의 총 개수를 출력 할 수 있도록하려면, 다음이 아마 2 단계가 필요합니다 그 :

  1. 가 잘린 리디렉션을 파일로 출력하고
  2. wc을 사용하여 파일의 줄 수를 계산합니다.

    tshark -r file.pcap | cut -c -80 > file.txt 
    wc -l file.txt (or cat file.txt | wc -l) 
    

    즉시 출력을 볼뿐만 아니라 라인의 수를 계산하기 위해 출력을 파일로 쓸 수 있도록하려면, 당신은이 작업을 수행 할 수 있습니다 예를 들어

tshark -r file.pcap | cut -c -80 | tee file.txt 
wc -l file.txt 
1

당신이 떠들썩한 파티 또는 ksh에서 작업하는 가정, tcpdump를 실행하기 전에 "수출 COLUMNS = 1024"실행 : 예를 들어 tee 명령과 함께. Tcpdump는 디스플레이가 1024 자 너비라고 결론을 내릴 것입니다. 이는 각 패킷을 하나의 출력 라인에두기에 충분해야합니다. 나는 COLUMNS 값에 실질적인 제한이 있다고 생각하지 않는다.