iptables를 사용하여 라우터에서 GATWAYLAN의 트래픽 캡처

iptables를 사용하여 라우터에서 GATWAYLAN의 트래픽 캡처

라우터의 LAN<>GATEWAY 트래픽을 캡처하려고 합니다. 라우터에는 Linux 기반 펌웨어가 있으며 네트워크 작업을 수행하는 데 iptables를 사용할 수 있습니다. 제가 하고 싶은 것은 회색 영역의 트래픽을 캡처하는 것입니다.이것그림. 리디렉션된 트래픽을 캡처하기 위해 netfilter-queue를 사용하겠습니다.

제가 캡쳐한 교통량은..

  1. 인바운드 트래픽(WAN->LAN)에서 DNAT 이후.
  2. 아웃바운드 트래픽(WAN<-LAN)에서 SNAT 이전.

iptables 체인에 대해 설명하는 사진을 찾았습니다.여기. 나는 그런 것들을 포착하기 위한 몇 가지 시나리오를 알아냈습니다. 하지만 모든 사진은 단일 시스템을 기반으로 하기 때문에 제대로 작동할지 확신할 수 없습니다. 다르겠지만 eth0이 WAN에 연결되어 있고 eth1이 LAN에 연결되어 있다고 가정해 보겠습니다.

  1. 필터 또는 맹글 테이블의 FORWARED 체인에서 트래픽을 캡처합니다.
iptables -I FORWARD -j NFQUEUE
  1. 맹글 테이블의 PREROUTING 체인에서 트래픽을 캡처합니다.
iptables -t mangle -I PREROUTING -j NFQUEUE
  1. eth1(LAN)의 PREROUTING 체인과 eth0(WAN)의 POSTROUTING 체인에서 트래픽을 캡처합니다.
iptables -t mangle -i eth1 -I PREROUTING -j NFQUEUE
iptables -t mangle -i eth0 -I POSTROUTING -j NFQUEUE

LAN<>GATEWAY 트래픽을 캡처하는 가장 좋은 선택은 무엇입니까? 다 해볼 수 있으면 가장 좋겠지만 라우터에 접근할 수 없어서 지금은 테스트를 할 수 없습니다.

답변1

오늘 이에 대한 해결책을 찾았고 지금 공유하겠습니다. FORWARD 체인을 사용하여 DNAT 이후와 SNAT 이전의 패킷을 캡처할 수 있었습니다. 그래서 답은 1이었습니다.

iptables -I FORWARD -j NFQUEUE

이제 (호스트의 MAC 주소를 사용하여) 특정 호스트에 대한 패킷을 캡처하는 방법을 찾으려고 합니다.

관련 정보