2010-05-19 6 views
1

Tcpflow는 웹 서버의 HTTP 응답 인 파일 묶음을 출력합니다. 내부에는 Content-type : 및 기타 중요한 것들을 포함하는 HTTP 헤더가 들어 있습니다. 페이로드 데이터 (예 : image/jpeg; text/html 등) 만 추출 할 수있는 스크립트를 작성하여 파일 [선택 사항 : 적절한 이름과 파일 확장자로 저장]에 저장하려고합니다.tcpflow 출력에서 ​​페이로드 추출

EOL 문자는 \ r \ n (CRLF)이므로 내 경험에 의하면 GNU 배포판에서 사용하기가 어렵습니다. \ r에 \ n을 \ r에 \ n의 끝 (포함)에 HTTP (포함)의 처음부터 모든 텍스트를 삭제하려면

sed /HTTP/,/^$/d 

:

나는의 라인을 따라 뭔가를하려고했는데 그러나 나는 행운을 찾지 못했습니다. 나는 좋은 경험이있는 사람으로부터 도움을 찾고있다. sed 그리고/또는 awk. 나는 Perl에 대한 경험이 전혀 없다. 일반적인 GNU 명령 행 유틸리티를 사용하기를 바란다.

여기에 tcpflow 출력 파일 샘플이있다. (나쁜 링크)

감사합니다,
펠리페

답변

2

This article는 이미지를 추출 tcpflow에서 출력 foremost를 실행하는 것이 좋습니다. 이 링크는 데비안, 페도라 및 우분투의 링크 및 리포지토리에서 사용할 수 있습니다.

내가 링크 된 샘플 파일에서 시도해 보았는데 제대로 작동하는 것으로 보입니다.

foremost -i tcpflow.out 

그것은 각각의 파일에 "GIF"와 "JPEG"라는 하위 디렉토리와 "출력"라는 디렉토리를 만들었습니다. 파일의 이름은 헤더의 파일 이름과 일치하지 않습니다.

파일의 라인 엔딩을 변경하려면 수행

dos2unix < filename | nextcommand 

다른 관심의 링크 :

dos2unix filename 

또는 파이프

+0

의 목록은 무엇보다도 우수합니다! 팁 주셔서 감사. –

관련 문제