I'm trying to develop Sslstrip in c#. I'm not sure if it's possible, since in Linux you can redirect incoming data to a specific port (Which an application listens to) using iptables; you can't do that in windows (I've asked and searched everywhere).
I'm doing my tests on a separate laptop in my own network which is using Linux; this is purely educational (If I wanted to do anything illegal I would just use Sslstrip). Basically my application so far causes ARP poisoning between the gateway and this other laptop. This works as intended. However, what's remaining is to proxy the requests from laptop<->gateway. I've tried using TcpListener and HttpListener but they don't accept the connections, possibly because the destination IP addresses are different than my host's IP address (If it could be something else please let me know).
I've also tried working my way with raw sockets using WinPCap. Everything worked fine in HTTP (Would just re-forward the packets based on the ARP table) but it will be a pain in HTTPS since I manually have to set the data of the raw packets based on the SSL protocol; that's going to take ages.
How would I go into developing such a transparent proxy? I basically need a TcpListener or preferably an HttpListener that accepts connections even if the destination IP address is not my host's address.