2014-01-13 7 views
3

Linux에서 airmon-ng 스크립트를 사용하여 약간의 실험을 시도하고 있습니다. 한편 나는 "airodump-ng mon0"프로세스의 출력을 파일로 리디렉션하려고합니다. 화면에 순간 출력을 볼 수 있습니다. 이 프로세스의 특징은 ctrl + c를 사용하지 않는 한 실행을 멈추지 않는다는 것입니다 (사실 AP와 클라이언트를 검색하는 스크립트이며 스캔을 계속합니다). 시도 할 때마다실행중인 프로세스의 출력을 Linux의 파일로 리디렉션하는 방법 Shell

airodump-ng mon0 > file.txt 

출력이 파일에 표시되지 않습니다. 기본적으로 쉘은 실행을 완료 한 후에 만 ​​파일에 파일을 쓸 것이라고 가정합니다. 하지만 위의 경우 실행을 중단했습니다 (실행이 완료되지 않음).

일반화하기 위해 나는 실행중인 프로세스의 출력을 파일로 파이프 할 수 없습니다. 내가 어떻게 할 수 있니? 또는 (예를 들어 5 초 후) 프로세스의 실행을 중지하고 현재 출력을 파일로 리디렉션하는 다른 방법이 있습니까?

+0

단말기에 출력이 계속 표시되는지 확인 했습니까? 그렇게한다면, 당신은 그것을 포착하지 못합니다. 프로그램이 stderr이 아닌 stderr에 실제로 인쇄 할 수 있습니다. 그러면 '2> file.txt'를 대신 수행해야합니다. 리다이렉션은 내가 아는 한 (프로그램이 완료 될 때까지 기다릴 필요가 없음) – codeling

+0

당신이 사용하고있는 쉘은 어느 정도까지 즉시 작동해야합니까? 세게 때리다? zsh? tcsh? csh? – JVMATL

+0

@JVMATL Bash 쉘 –

답변

3

프로세스가 출력을 표준 출력이나 표준 오류로 보내어 터미널로 보낼 수 있습니다. 일반적으로 전자는 정보 용이고 후자는 오류 용이지만 후자는 오류 용이지만, 경우에 따라 프로세스가이를 혼합 할 수 있습니다.

귀하의 경우 표준 오류가 사용되고 있다고 가정합니다. 출력 파일에이 두 가지를 얻으려면, 당신은 사용할 수 있습니다

airmon-ng mon0 > file.txt 2>&1 

file.txt에 표준 출력을 전송하고 (1로 (표준 오류에 대한 파일 ID 인)의 파일 ID를 2을 다시 라우팅 말한다 표준 출력) 파일에 저장됩니다.

+0

어떻게 파일을 덮어 쓸 수 있습니까? 첨부? –

+0

@DDR 위의'>'는 파일을 덮어 써야합니다. 추가는'>>'이됩니다. – lurker

+0

하지만 첨부 된 파일이 있습니다. 매 순간마다 스캔 할 때 파일에 추가 된 각 스캔의 결과를 얻습니다. –