무차별 모드에서 실행 중이 든 아니든 실행 중 :
tcpdump -i "$INTERFACE" -vvv -n -XX -S -s0 -e
나는 그것을 멈췄을 때 많은 줄과 결론을 얻었습니다.
601 packets captured
938 packets received by filter
230 packets dropped by kernel
왜 차이가 있습니까? 107 개의 패킷이 누락 된 곳은 어디입니까? 그리고 로컬 네트워크에서 패킷의 100 %를 획득 / 캡처하는 것이 가능합니까? 라우터 뒤에있는 나뿐입니까?
tcpdump가 패킷을 "삭제"하는 것은 네트워크에서 도착하는 패킷을 따라갈 수있는 버퍼 공간이 충분하지 않기 때문입니다.
캡처 및 수신 된 패킷 간의 차이는 OS 또는 tcpdump의 구현으로 인한 것일 수 있으며보다 일반적으로 ^ C를 사용하여 프로세스를 중단하기 때문일 수 있습니다.
패킷 당 버퍼 크기를 "s0"으로 설정하면 64KB per man tcpdump
; 일반적으로 전체 패킷을보기 위해 -X를 사용하고 tcpdump를 사용하여 필요한 것보다 적은 헤더 (IPv4 헤더의 크기 인 160 바이트)를보기 위해 tcpdump를 사용하는 경우 일반적으로 최대 1500으로 설정합니다.
일반적으로 화면 작업도 더 느립니다. 속도가 필요한 경우 실제 실시간으로 볼 필요가 없으면 출력을 파일로 보냅니다.
man "tcpdump"에서 :
"더 큰 스냅 샷을 찍으면 패킷을 처리하는 데 걸리는 시간이 늘어나고 효과적으로 패킷 버퍼링 양이 줄어 듭니다. 이로 인해 패킷이 손실 될 수 있습니다. 프로토콜 정보를 캡처 할 수있는 가장 작은 수로 snaplen을 제한해야합니다. 당신은 관심이 있습니다. "
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다