promiscuous mode

  • 비 스위치 네트워크에서는 이더넷 패킷이 네트워크의 모든 장치로 전달되고(broadcast), 스위치 네트워크에서느느 각 장치는 목적지가 자신이 아닌 패킷은 모두 버리도록 되어 있다(unicast) 그렇지만 장치(NIC)를 난잡 모드(promiscuous mode)로 만들어 놓으면 장치는 자신에게 오지 않은 패킷도 모두 일단 받아들이게 된다 tcpdump와 같은 대부분의 패킷 캡쳐 프로그램은 자신이 모니터링하는 장치를 기본적으로 난잡 모드로 설정한다

promiscuous mode 설정

# ifconfig eth0 promsc

# ifconfig
eth0      Link encap:Ethernet  HWaddr B6:30:84:A8:45:B5
          inet addr:192.168.1.204  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:44698614 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34974806 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6748439056 (6.2 GiB)  TX bytes:4299919575 (4.0 GiB)
          Interrupt:164

# tail -f /var/log/messages | grep promiscuous
Mar 25 17:38:12 fvm01 kernel: device eth0 entered promiscuous mode

promiscuous mode 해제

# ifconfig eth0 -promisc
# ifconfig
eth0      Link encap:Ethernet  HWaddr B6:30:84:A8:45:B5
          inet addr:192.168.1.204  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:44698614 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34974806 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6748439056 (6.2 GiB)  TX bytes:4299919575 (4.0 GiB)
          Interrupt:164

# tail -f /var/log/messages | grep promiscuous
Mar 25 17:40:12 fvm01 kernel: device eth0 left promiscuous mode