DNS 요청만 기록하도록 Wireshark를 설정하는 방법은 무엇입니까?

DNS 요청만 기록하도록 Wireshark를 설정하는 방법은 무엇입니까?

이것은 작동합니다:

tethereal -i eth0 -w /root/mycapture.pcap

하지만 모든 패킷을 캡처합니다. DNS 요청만 캡처하면 됩니다. 이것이 가능한가? 서버는 리눅스입니다.

다른 점은 네트워크를 통해 파일을 다른 컴퓨터에 저장할 수 있다는 것입니다. 서버에는 캡처 파일을 저장할 만큼 크지 않은 작은 하드 드라이브만 있습니다.

감사해요.

답변1

다음을 사용하여 캡처 필터를 지정합니다.-f "port 53".

참고 사항: tshark지금은 tethereal더 이상 아닙니다.


로컬로 캡처하지만 데이터를 원격 서버에 저장하려면 -또는 /dev/stdout출력 파일로 사용하고 명령을 다음으로 파이프하십시오 ssh.

tshark -i eth0 -f "port 53" -l -w - | ssh otherhost "cat > foo.pcap"

tcpdump -i eth0 -f "port 53" -l -w - | ssh otherhost "cat > foo.pcap"

반대의 경우도 있습니다. 즉, 원격 서버에서 캡처하고 데이터를 로컬에 저장할 수도 있습니다.

ssh otherhost "tshark -i eth0 -f "port 53" -l -w -" > foo.pcap

ssh otherhost "tcpdump -i eth0 -f "port 53" -l -w -" > foo.pcap

메모:언제나이와 같은 데이터를 저장할 때 캡처 필터를 지정하십시오. 그렇지 않으면 각 패킷이 무한 루프를 발생시킵니다.

관련 정보