0

I'm having to support some legacy client code which makes a network connection to a server using a proprietary protocol over port 1234. A straight internet connection on the client machine works fine, but some people use it inside a corporate network with proxies. For the most part this works, but I need to make some changes to the client code and would like to test it using a proxy.

I've installed mitmproxy on a second workstation, and if I set my main workstation to use this proxy, all is fine—I can make secure web requests using a default browser, so I'm pretty sure I've got the proxy set up OK. It doesn't require any proxy authentication and just seems to work.

But, when I launch this particular app and configure it to use the proxy, I can see in its debug output that it is attempting to do so, but in the mitmproxy debug window, I just see:

192.168.0.28:59278: clientconnect 192.168.0.28:59278: ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None) 192.168.0.28:59278: ProtocolException("ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)",) 192.168.0.28:59278: clientdisconnect

I'm assuming this is because the app isn't making 'properly formed' web requests, but using its own protocol over TCP. Am I right in thinking, if this is the case, that mitmproxy wouldn't be able to act as a proxy? If so, is there any other simple, ideally free proxy application I can use for testing? I did look at pfSense, but would need to set up a VM for that, and networking via a VM brings a whole new world of pain from previous experience :|.

dsl101
  • 443

1 Answers1

0

Reading the mitmproxy documentation further, I found 'Transparent' mode, which sounds more like what I want. But (a) it's still very focused on HTTP and HTTPS, and secondly, this section indicates that other TCP routing software is required. I think I'm only looking for that, so will not try to bend mitm any futher.

dsl101
  • 443