네트워크 인터페이스를 읽기 전용으로 사용하는 방법은 무엇입니까?

네트워크 인터페이스를 읽기 전용으로 사용하는 방법은 무엇입니까?

특히 VLAN 및 더 잘 이해하고 싶은 기타 프로토콜과 관련하여 몇 가지 실험을 실행하고 싶은 스위치가 홈 랩에 있습니다. 이제 이 스위치(aTP-Link 5포트 다소 관리되는 스위치)는 포트 미러링을 허용합니다.

모니터링 시스템에서 유입되는 "새로운" 트래픽을 가능한 한 적게 사용하여 내 컴퓨터에서 이 미러링된 트래픽을 분석하고 싶습니다. 어떻게 이를 달성할 수 있나요?

원래 내 PC로 향하지 않는 패킷을 수신하려면 NIC를 무차별 모드로 설정해야 한다는 것을 이미 알고 있습니다. 이는 일반적으로 Wireshark 자체에서 수행되므로 걱정할 필요가 없습니다.

그러나 다른 포트에서 생성된 트래픽을 실제로 살펴보기 위해 포트에 "노이즈"를 가능한 한 적게 도입하고 싶었습니다. 난 이미 찾았어이 답변이는 실행 중인 모든 서비스(예: DHCP 등)를 비활성화하는 것을 제안합니다. 그러나 이렇게 하면 소음이 많이 줄어들지만 ARP 확인이나 기타 커널 기반 네트워크 상호 작용을 방지할 수는 없습니다.

나는 또한 이 목적을 위해 특별히 고안된 프로토콜이 있다는 것도 배웠습니다.시스코의 SPAN), 하지만 내 스위치에는 그런 기능이 없습니다.

제 질문은: 네트워크 인터페이스를 읽기 전용으로 어떻게 사용할 수 있습니까?

답변1

Linux에서 인터페이스를 "읽기 전용"으로 전환하는 가장 쉬운 방법은 송신을 적용하는 것입니다.tc떨어지는 것을 필터링 모든 것.

필터를 적용하려면,클래스풀 qdisc제자리에 있어야 합니다. 그만큼프리오qdisc는 자체 기능이 아닌 인터페이스에서 필터를 사용할 수 있는 데에만 사용되는 가장 간단한 클래스형 qdisc입니다.

결국 인터페이스 설정eth1"읽기 전용":

tc qdisc add dev eth1 root prio
tc filter add dev eth1 matchall action drop

그러면 이 인터페이스에서 나가는 트래픽이 차단됩니다. RAW 소켓(방화벽의 영향을 받지 않음)도 차단하므로 IPv4 DHCP 클라이언트(방화벽에도 불구하고 주소를 얻을 수 있음)도 차단됩니다. 이를 우회할 수 있는 방법이 아직 남아 있지만 이는 매우 의도적일 수 있습니다. 제가 아는 두 가지는 다음과 같습니다.

인터페이스를 원래 상태로 되돌리려면 qdisc를 제거하면 됩니다.

tc qdisc del dev eth1 root

노트:

  1. 미러링 모드로 설정된 포트가 있는 스위치는 아마도 이미 이 포트를 읽기 전용 모드로 설정했을 것입니다.

    그것은 테스트할 것입니다. 그리고 위의 필터를 사용하거나 아래의 글머리 기호 2를 사용하면 문제가 됩니다.

  2. UP 상태이고 추가 설정이 적용되지 않은 인터페이스는 여전히 트래픽을 교환할 수 있습니다.

    이전 필터가 없으면 구성되지 않았지만 UP 인터페이스가 있어도 트래픽이 남을 수 있습니다. 적어도 다음 두 가지 경우가 있습니다.

    • IPv6 자동 구성

      사용sysctl -w net.ipv6.conf.eth1.disable_ipv6=1

    • ARP가 비활성화되지 않은 경우( 사용 ip link set eth1 arp off)

      이 사례는 LAN의 시스템이 일부 시스템이 잘 알려진 주소를 가진 다른 네트워크(가상 포함)도 사용하고 있는지 확인하기 위해 조사할 수 있는 보다 일반적인 정보 유출 사례와 동일합니다. 기본적으로 Linux에서는 인터페이스가 ARP 요청에 응답합니다. ~을 위한어느다른 주소어느다른 인터페이스.그건 부분약자의호스트 모델.

      예를 들어 OP 시스템이 기본 설정으로 livbirt QEMU/KVM을 실행하는 경우 192.168.122.1/24가 다음에 할당됩니다.virbr0, 구성되지 않은 UP 인터페이스에만 연결된 다른 Linux 시스템은 다음을 실행할 때 이를 통해 계속 ARP 응답을 받습니다.

      arping -I eth0 192.168.122.1
      

      프로빙 시스템에 192.168.122.1에 대한 경로가 있는지 여부는 중요하지 않습니다. ARP(및 경로를 고려하지 않는 명령)에 관한 것입니다. LXC 및 10.0.3.1 등에 대해서도 마찬가지입니다.

관련 정보