당신은 내 tun2socks "TCP 잡기"부분에 대한 프로그램. 이 프로그램은 SOCKS 프록시를 통해 나가는 모든 TCP 연결을 전달하는 가상 TUN 네트워크 인터페이스를 만듭니다. Ipad의 연결을 tun2socks의 TUN 인터페이스로 전달하기 위해 라우팅 규칙 (ip 규칙)을 추가하면 tun2socks가이를 SOCKS5 프록시로 전달합니다. SOCKS 프록시에서 /에서 MITM 공격을 수행하는 것이 훨씬 쉬워야합니다.
이 접근법은 여러분의 입장에서 보면 iptables 리다이렉트 규칙과 유사하지만 SOCKS5 프로토콜 헤더에 존재할 연결의 실제 목적지를 알아내는 데는 특별한 조치를 취할 필요가 없습니다.
최신 정보 : Ipad에서 TUN 인터페이스로 패킷을 가져 오는 것은 실제로 생각보다 어렵습니다. 네가 라우터에 br0
브릿지 인터페이스 wlan0
(Ipad가있는 곳) 및 eth0
(티보가있는 곳). DD-WRT에 익숙하지 않아서 이름이 다를 수 있습니다. brctl show
).
이제 문제는 Ipad ( wlan0
) ~ 티보 ( eth0
)는 라우팅되지 않지만 가교 된 (즉 스위치가하는 것과 동일한 것). 즉, IP 규칙을 추가하더라도 적어도 논리적으로 말하면 라우터를 통과하지 않기 때문에 중요하지 않습니다. 이를 해결하기 위해, Ipad에서 직접 MAC 주소로 향하는 것처럼 패킷을 리디렉션해야합니다. br0
티보의 MAC 주소가 아닌 eth0
; 이렇게하면 커널이 IP 패킷을 들어오는 IP 패킷으로 처리하게하고, 아마 ip 규칙과 라우팅 테이블에 따라 라우팅합니다. 마지막으로 명령은 다음과 같습니다.
ebtables -t nat -A PREROUTING -i wlan0 -p ipv4 --ip-source <ip_of_ipad> --ip-destination <ip_of_tivo> --ip-protocol TCP -j dnat --to-destination <mac_of_br0>
이렇게하면 ebtables 수신 된 일치하는 패킷을 리디렉션하는 규칙 wlan0
~에 직접 br0
. 이것이 너무 많이 잡히면 여기에 더 많은 조건을 추가해야 할 수도 있습니다. 유의 사항 dnat
평소 (IP) NAT를 의미하지는 않습니다 - ebtable에서 NAT는 IP 주소가 아닌 프레임의 MAC 주소를 변경하는 것을 의미합니다.
DD-WRT 용 tun2socks의 컴파일 된 버전을 얻을 수 있습니다. 이리 ; 잘하면 그것은 당신의 장치에서 작동합니다.