public void TestTcpForwarderTest() { using (TcpInvisibleProxy tcp = new TcpInvisibleProxy(new IPEndPoint(IPAddress.Any, 7000), new IPEndPoint(IPAddress.Parse("192.168.1.5"), 3306))) { tcp.OnCreateStream += Tcp_OnCreateStream; tcp.Start(); Thread.Sleep(30000); } }
/// <summary> /// Create proxy ( auto-dispose whith socket ) /// </summary> /// <param name="socket">Socket</param> /// <param name="e">Arguments</param> public ICrashDetector GetCrashDetector(TuringSocket socket, TuringAgentArgs e) { var proxy = new TcpInvisibleProxy(ListenEndPoint, ConnectTo) { Tag = socket }; proxy.OnCreateStream += Proxy_OnCreateStream; socket[ProxyVarName] = proxy; proxy.Start(); // Create process return(new WERDetector(Process)); }
Stream Proxy_OnCreateStream(object sender, Stream stream, ESource owner) { TcpInvisibleProxy proxy = (TcpInvisibleProxy)sender; TuringSocket socket = (TuringSocket)proxy.Tag; switch (Type) { case EFuzzingType.Server: return(owner == ESource.Server ? stream : new TuringStream(socket, stream)); case EFuzzingType.Client: return(owner == ESource.Client ? stream : new TuringStream(socket, stream)); } return(stream); }
public override bool GetItsAlive(TuringSocket socket, TuringAgentArgs e) { TcpInvisibleProxy proxy = (TcpInvisibleProxy)socket[ProxyVarName]; return(proxy != null && proxy.Running && proxy.ConnectedClients > 0); }