tcpdump -i 임의 모드 및 혼합 모드

tcpdump -i 임의 모드 및 혼합 모드

tcpdump 4.1.1의 매뉴얼 페이지에서 (예, 오래되었다는 것을 알고 있습니다)

   -i     Listen  on interface.  If unspecified, tcpdump searches the 
          system interface list for the lowest numbered, configured up 
          interface (excluding loopback).  Ties are broken by choosing >               the earliest match.

          On Linux systems with 2.2 or later kernels, an interface 
          argument of ``any'' can be used to capture packets from all
          interfaces.
          Note  that captures on the ``any'' device will not be done in
          promiscuous mode.

마지막 문장의 정확한 의미를 설명할 수 있는 사람이 있습니까? 나는 많은 인터페이스가 있는 IDS 서버를 사용하고 있는데 tcpdump -i any를 사용하면 IDS 서버로의 시작/목적지가 아닌 트래픽이 명확하게 표시됩니다. 그러나 모든 인터페이스를 무차별 모드로 전환하는 또 다른 서비스가 있습니다. -i를 사용하면 tcpdump가 인터페이스를 PROMISC 모드로 전환하지 않는다는 의미일까요?

답변1

-i를 사용하면 tcpdump가 인터페이스를 PROMISC 모드로 전환하지 않는다는 의미일까요?

네, 그게 내 말이에요. "모든" 장치는 모든 장치를 독립적으로 열고 캡처하는 방식으로 작동하지 않습니다. 특정 장치에 바인딩하는 대신 "패킷 소켓"을 열어 작동합니다(Linux에서 해당 장치 캡처 방식으로 발생하는 현상). 모든 소켓에서 수신 대기하도록 바인딩이 해제됩니다.

무차별 모드를 설정하는 호출은 바인딩되지 않은 소켓에서 실패하므로(아주 새로운 커널에서 테스트했습니다) libpcap은 "모든" 장치에 대해 무차별 모드를 설정하지 않습니다.

답변2

무차별 모드를 방지하려면 다음과 같이 -p 매개변수를 사용할 수도 있습니다.

tcpdump -p -i eth0

인터페이스를 무차별 모드로 설정하지 마십시오. 소규모 네트워크나 클러스터가 있는 경우 모든 패킷을 살펴보는 것이 흥미로울 수 있습니다. 그렇지 않고 무차별 모드를 활성화하면 네트워크가 컴퓨터를 쉽게 압도할 수 있습니다.

관련 정보