방문한 URL을 추적하고 싶기 때문에 다음과 같은 명령 줄을 사용합니다.
tcpdump -ien1 -v -X 'tcp port 80'| sed -nl 's / ^. 0x [0-9a-f] {4} :. {43} (. ) $ / \ 1 / p '| perl break.pl | perl -pe's / (GET | POST). (. ?). HTTP / 1 .... 호스트 :. ([a- zA-Z._0-9-] ) ../ "\ nBEGURL".localtime (). ": $ 1 http : // $ 3 $ 2 \ n"/ ge ' | grep "^ BEGURL"
한 줄에 하나의 URL로 정상적으로 작동합니다. 하지만 내가하면
tcpdump -ien1 -v -X 'tcp port 80'| sed -nl 's / ^. 0x [0-9a-f] {4} :. {43} (. ) $ / \ 1 / p '| perl break.pl | perl -pe's / (GET | POST). (. ?). HTTP / 1 .... 호스트 :. ([a- zA-Z._0-9-] ) ../ "\ nBEGURL".localtime (). ": $ 1 http : // $ 3 $ 2 \ n"/ ge ' | grep "^ BEGURL" >> / tmp / out
(종료 통지 >> / tmp / out) 그러면 파일이 비어 있습니다! 왜 그런지 아십니까? 그것은 완전히 비논리적입니다.
또한 stdout 및 stderr을 / tmp / out으로 리디렉션하려고 시도했지만 여전히 비어 있습니다. 파일에 쓰기 권한이 있습니다. 나는 그것이 무엇인지 전혀 모른다. stdout 및 stderr 이외의 다른 것이 있습니까?
도움이 필요하시면