파일저장과 crontab 사용, 왜 안될까요 ? 도와주세요

Sailor_moon의 이미지

안녕하세요 , 늘 도움만 받는군요 . 항상 답변해 주시는 모든 분들께 감사드립니다.

다름이 아니라 , 제가 TCPDUMP 를 이용해 캡쳐한 패킷을 , txt 파일로 저장하려 합니다.

이게 그냥 terminal 창에서

sudo tcpdump 각종옵션 >> /home/..../data.txt 하면 잘 저장 됩니다. 그런데

crontab 에 들어가서

*/1 * * * * sudo tcpdump 각종옵션 >> /home/..../data.txt 하면 ...

분명 data.txt 파일은 만들어지는데 , 계속해서 빈 파일만 생기더군요. 이게
어찌된 일인지 아시는분 계신가요 ?

아 ..그리고 위와같이 */1 * * * *으로 크론탭을 해 두었더니 , 저 명령어를 지워버린 뒤에 재부팅 했는데도 ,
백그라운드에서 tcpdump 가 계속 캡쳐하고 있더군요. 어떻게 중지시키나요 ? 이것참 ....
crontab -e 의 실행과 동시에 , 딱 한번만 tcpdump 는 돌게하고 계속 돌게하고싶은데 , */1 말고 다른 방법이 없을까요 ?

고수님들의 답변 기다립니다. 리눅스 초보라서 모르는것만 너무 많네요 .

nthroot의 이미지

rc.local에 두시는 것도 괜찮을 것 같은데요.
그리고 tcpdump에 -w 옵션을 사용해보세요. tcpdump 가 stderr로 메세지를 출력했던걸로 기억하네요.

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

dormael의 이미지

에러 스트림을 파일로 저장해 보시고 그 에러에 맞게 처리해 주셔야 할 것 같습니다.
크론탭의 실행환경은 일반적으로 로그인하는 환경과 다른것으로 알고 있습니다.

맨 뒤에 2> /tmp/tcpdump.error.log
식으로 STDERR를 특정 파일로 리다이렉트 하시면 될걸로 알고 있습니다.

青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.

-- Signature --
青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.

pogusm의 이미지

1. /etc/sudoers 설정파일에서, 아래처럼 설정되어있나 확인
#Defaults requiretty <--- 주석처리
user001 ALL=(ALL) NOPASSWD: ALL <---- NOPASSWD

2. crontab -e 에서, 아래처럼 /usr/sbin/tcpdump 라고 path를 포함하여 입력 (시스템마다 위치가 다를 수 있음)
*/1 * * * * sudo /usr/sbin/tcpdump 각종옵션 >> /home/..../data.txt

또는,
*/1 * * * * sudo sh -c "/usr/sbin/tcpdump 각종옵션 >> /home/pogusm/data.txt" 처럼 입력

ps. cron에 관련된 메시지가 user의 메일로 전송되던군요.. (centos5.5 기준)
$ mutt 같은 명령으로 메일함을 확인해보시는것도 좋은 방법일거 같습니다.