protected void Arrange() { _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict); _sessionMock = new Mock<ISession>(MockBehavior.Strict); _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict); _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15)); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _channelMock.Setup(p => p.Close()); _channelMock.Setup(p => p.Dispose()); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint) _endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _forwardedPort.Start(); _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp) { ReceiveTimeout = 500, SendTimeout = 500, SendBufferSize = 0 }; _client.Connect(_endpoint); // allow for client socket to establish connection Thread.Sleep(50); }
protected void Arrange() { _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict); _sessionMock = new Mock <ISession>(MockBehavior.Strict); _channelMock = new Mock <IChannelDirectTcpip>(MockBehavior.Strict); _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15)); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _channelMock.Setup(p => p.Dispose()); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _forwardedPort.Start(); _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp) { ReceiveTimeout = 500, SendTimeout = 500, SendBufferSize = 0 }; _client.Connect(_endpoint); // allow for client socket to establish connection Thread.Sleep(50); }
private void Arrange() { _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _sessionMock = new Mock<ISession>(MockBehavior.Strict); _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict); _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _channelMock.Setup(p => p.Close()); _channelMock.Setup(p => p.Dispose()); _forwardedPort = new ForwardedPortDynamic(8122); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _forwardedPort.Start(); var endPoint = new IPEndPoint(IPAddress.Loopback, 8122); _client = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); _client.Connect(endPoint); }
private void SetupData() { var random = new Random(); _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _remoteEndpoint = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort)); _bindSleepTime = TimeSpan.FromMilliseconds(random.Next(100, 500)); _userName = random.Next().ToString(CultureInfo.InvariantCulture); _channelBindStarted = new ManualResetEvent(false); _channelBindCompleted = new ManualResetEvent(false); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp) { ReceiveTimeout = 100, SendTimeout = 100, SendBufferSize = 0 }; }
public void ForwardSsh(ref SshClient client, ref ForwardedPortDynamic port) { var random = new Random(); do { try { var randomSshClient = sshClients[random.Next(sshClients.Length)]; var sshClientInfo = randomSshClient.Split('|'); client = new SshClient(sshClientInfo[0], sshClientInfo[1], sshClientInfo[2]); client.KeepAliveInterval = new TimeSpan(0, 0, config.IP_Alive_Interval); client.ConnectionInfo.Timeout = new TimeSpan(0, 0, config.IP_Timeout); client.Connect(); if (client.IsConnected) { port = new ForwardedPortDynamic("127.0.0.1", 1080); client.AddForwardedPort(port); port.Start(); break; } } catch (Exception ex) { File.AppendAllText("Error.txt", ex.ToString()); } } while (true); }
public void ForwardedPortDynamicConstructorTest1() { uint port = 0; // TODO: Initialize to an appropriate value ForwardedPortDynamic target = new ForwardedPortDynamic(port); Assert.Inconclusive("TODO: Implement code to verify target"); }
// Token: 0x0600054A RID: 1354 RVA: 0x00032898 File Offset: 0x00030A98 public static bool SSHForwardToPort(string host, string username, string password, string ipforward, string portforward) { try { SshClient sshClient = new SshClient(host, username, password); sshClient.KeepAliveInterval = new TimeSpan(0, 0, 30); sshClient.ConnectionInfo.Timeout = new TimeSpan(0, 0, 30); sshClient.Connect(); ForwardedPortDynamic forwardedPortDynamic = new ForwardedPortDynamic(ipforward, Convert.ToUInt32(portforward)); sshClient.AddForwardedPort(forwardedPortDynamic); forwardedPortDynamic.Exception += delegate(object sender1, ExceptionEventArgs e1) { Console.WriteLine(e1.Exception.ToString()); }; forwardedPortDynamic.Start(); } catch (Exception ex) { bool flag = ex.Message == "Only one usage of each socket address (protocol/network address/port) is normally permitted"; if (flag) { throw ex; } return(false); } Thread.Sleep(10000000); return(true); }
public void Connect(string IP, string usernameIP, string passwordIP, string port) { using (var _client = new SshClient(IP, 22, usernameIP, passwordIP)) { // timeout 30s _client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(25); _client.ErrorOccurred += (se, ev) => { }; _client.KeepAliveInterval = TimeSpan.FromSeconds(60); _client.Connect(); if (_client.IsConnected) { var forwarder = new ForwardedPortDynamic("127.0.0.1", Convert.ToUInt32(port)); forwarder.Exception += (se, ev) => { }; _client.AddForwardedPort(forwarder); forwarder.Start(); // ko dung nua thi stop //forwarder.Stop(); //client.Disconnect //MessageBox.Show("forwarded"); //Thread.Sleep(10 * 60 * 1000); } } }
private void SetupData() { var random = new Random(); _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _remoteEndpoint = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort)); _bindSleepTime = TimeSpan.FromMilliseconds(random.Next(100, 500)); _userName = random.Next().ToString(CultureInfo.InvariantCulture); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint) _endpoint.Port); _sessionException = new Exception(); _channelBindStarted = new ManualResetEvent(false); _channelBindCompleted = new ManualResetEvent(false); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp) { ReceiveTimeout = 100, SendTimeout = 100, SendBufferSize = 0 }; }
private void Arrange() { _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _sessionMock = new Mock <ISession>(MockBehavior.Strict); _channelMock = new Mock <IChannelDirectTcpip>(MockBehavior.Strict); _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _channelMock.Setup(p => p.Close()); _channelMock.Setup(p => p.Dispose()); _forwardedPort = new ForwardedPortDynamic(8122); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _forwardedPort.Start(); var endPoint = new IPEndPoint(IPAddress.Loopback, 8122); _client = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); _client.Connect(endPoint); }
public void Cleanup() { if (_forwardedPort != null) { _forwardedPort.Dispose(); _forwardedPort = null; } }
public void DisposeTest() { uint port = 0; // TODO: Initialize to an appropriate value ForwardedPortDynamic target = new ForwardedPortDynamic(port); // TODO: Initialize to an appropriate value target.Dispose(); Assert.Inconclusive("A method that does not return a value cannot be verified."); }
public void Constructor_Port() { var port = (uint)new Random().Next(0, int.MaxValue); var target = new ForwardedPortDynamic(port); Assert.AreSame(string.Empty, target.BoundHost); Assert.AreEqual(port, target.BoundPort); }
public void Cleanup() { if (_forwardedPort != null) { _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(1)); _forwardedPort.Dispose(); _forwardedPort = null; } }
protected void Arrange() { _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _forwardedPort = new ForwardedPortDynamic("host", 22); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Dispose(); }
protected void Arrange() { _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); }
protected void Arrange() { _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _forwardedPort = new ForwardedPortDynamic("host", 22); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Dispose(); }
public void Constructor_HostAndPort() { var host = new Random().Next().ToString(CultureInfo.InvariantCulture); var port = (uint)new Random().Next(0, int.MaxValue); var target = new ForwardedPortDynamic(host, port); Assert.AreSame(host, target.BoundHost); Assert.AreEqual(port, target.BoundPort); }
public void Constructor_HostAndPort() { var host = new Random().Next().ToString(CultureInfo.InvariantCulture); var port = (uint) new Random().Next(0, int.MaxValue); var target = new ForwardedPortDynamic(host, port); Assert.AreSame(host, target.BoundHost); Assert.AreEqual(port, target.BoundPort); }
protected void Arrange() { _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); }
private void btnConnect_Click(object sender, EventArgs e) { btnConnect.Enabled = false; _client = new SshClient(txip.Text.Trim(), txusername.Text.Trim(), txpwd.Text.Trim()); _client.Connect(); ForwardedPortDynamic port = new ForwardedPortDynamic("127.0.0.1", 1080); _client.AddForwardedPort(port); if (_client.IsConnected) { port.Start(); } }
protected void Arrange() { var random = new Random(); _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _remoteEndpoint = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort)); _expectedElapsedTime = TimeSpan.FromMilliseconds(random.Next(100, 500)); _userName = random.Next().ToString(CultureInfo.InvariantCulture); _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict); _sessionMock = new Mock <ISession>(MockBehavior.Strict); _channelMock = new Mock <IChannelDirectTcpip>(MockBehavior.Strict); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); Socket handlerSocket = null; _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15)); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _channelMock.Setup(p => p.Open(_remoteEndpoint.Address.ToString(), (uint)_remoteEndpoint.Port, _forwardedPort, It.IsAny <Socket>())).Callback <string, uint, IForwardedPort, Socket>((address, port, forwardedPort, socket) => handlerSocket = socket); _channelMock.Setup(p => p.IsOpen).Returns(true); _channelMock.Setup(p => p.Bind()).Callback(() => { Thread.Sleep(_expectedElapsedTime); if (handlerSocket != null && handlerSocket.Connected) { handlerSocket.Shutdown(SocketShutdown.Both); } }); _channelMock.Setup(p => p.Close()); _channelMock.Setup(p => p.Dispose()); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _forwardedPort.Start(); _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp) { ReceiveTimeout = 500, SendTimeout = 500, SendBufferSize = 0 }; EstablishSocks4Connection(_client); }
private void SetupData() { _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _connectionTimeout = TimeSpan.FromSeconds(5); _channelDisposed = new ManualResetEvent(false); _forwardedPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122); _forwardedPort = new ForwardedPortDynamic((uint) _forwardedPortEndPoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _client = new Socket(_forwardedPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); }
private void SetupData() { _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _connectionTimeout = TimeSpan.FromSeconds(5); _channelDisposed = new ManualResetEvent(false); _forwardedPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122); _forwardedPort = new ForwardedPortDynamic((uint)_forwardedPortEndPoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _client = new Socket(_forwardedPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); }
protected void Arrange() { var random = new Random(); _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _remoteEndpoint = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort)); _expectedElapsedTime = TimeSpan.FromMilliseconds(random.Next(100, 500)); _userName = random.Next().ToString(CultureInfo.InvariantCulture); _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict); _sessionMock = new Mock<ISession>(MockBehavior.Strict); _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint) _endpoint.Port); Socket handlerSocket = null; _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15)); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _channelMock.Setup(p => p.Open(_remoteEndpoint.Address.ToString(), (uint) _remoteEndpoint.Port, _forwardedPort, It.IsAny<Socket>())).Callback<string, uint, IForwardedPort, Socket>((address, port, forwardedPort, socket) => handlerSocket = socket); _channelMock.Setup(p => p.IsOpen).Returns(true); _channelMock.Setup(p => p.Bind()).Callback(() => { Thread.Sleep(_expectedElapsedTime); if (handlerSocket != null && handlerSocket.Connected) handlerSocket.Shutdown(SocketShutdown.Both); }); _channelMock.Setup(p => p.Close()); _channelMock.Setup(p => p.Dispose()); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _forwardedPort.Start(); _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp) { ReceiveTimeout = 500, SendTimeout = 500, SendBufferSize = 0 }; EstablishSocks4Connection(_client); }
protected void Arrange() { _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _sessionMock = new Mock <ISession>(MockBehavior.Strict); _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict); _sessionMock.Setup(p => p.IsConnected).Returns(false); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; }
protected void Arrange() { _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _sessionMock = new Mock<ISession>(MockBehavior.Strict); _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict); _sessionMock.Setup(p => p.IsConnected).Returns(false); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; }
private void Arrange() { SetupData(); CreateMocks(); SetupMocks(); _forwardedPort = new ForwardedPortDynamic(8122); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; _forwardedPort.Start(); var endPoint = new IPEndPoint(IPAddress.Loopback, 8122); _client = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); _client.Connect(endPoint); }
protected void Arrange() { _closingRegister = new List<EventArgs>(); _exceptionRegister = new List<ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict); _sessionMock = new Mock<ISession>(MockBehavior.Strict); _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict); _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15)); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; }
protected void Arrange() { _closingRegister = new List <EventArgs>(); _exceptionRegister = new List <ExceptionEventArgs>(); _endpoint = new IPEndPoint(IPAddress.Loopback, 8122); _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict); _sessionMock = new Mock <ISession>(MockBehavior.Strict); _channelMock = new Mock <IChannelDirectTcpip>(MockBehavior.Strict); _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15)); _sessionMock.Setup(p => p.IsConnected).Returns(true); _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object); _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object); _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port); _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args); _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args); _forwardedPort.Session = _sessionMock.Object; }
// Token: 0x0600054B RID: 1355 RVA: 0x00032964 File Offset: 0x00030B64 //public static bool SetSSH2(string host, string username, string password, string ipforward, string portforward, ref SshTunnel tunnel) //{ // try // { // tunnel.StopAccepting(true); // tunnel.CloseTunnel(true); // tunnel = null; // GC.Collect(); // } // catch (Exception) // { // } // tunnel = new SshTunnel(); // int port = 22; // bool flag = tunnel.Connect(host, port); // bool flag2 = !flag; // bool result; // if (flag2) // { // Console.WriteLine(tunnel.LastErrorText); // result = false; // } // else // { // flag = tunnel.AuthenticatePw(username, password); // bool flag3 = !flag; // if (flag3) // { // Console.WriteLine(tunnel.LastErrorText); // result = false; // } // else // { // tunnel.DynamicPortForwarding = true; // flag = tunnel.BeginAccepting(Convert.ToInt32(portforward)); // bool flag4 = !flag; // if (flag4) // { // Console.WriteLine(tunnel.LastErrorText); // result = false; // } // else // { // result = true; // } // } // } // return result; //} // Token: 0x0600054C RID: 1356 RVA: 0x00032A40 File Offset: 0x00030C40 public static bool SetSSH1(string host, string username, string password, string ipforward, string portforward, ref SshClient cursshclient) { SshClient sshClient = null; try { bool flag = cursshclient != null; if (flag) { foreach (ForwardedPort forwardedPort in cursshclient.ForwardedPorts) { forwardedPort.Stop(); } cursshclient.Disconnect(); } sshClient = new SshClient(host, username, password); sshClient.KeepAliveInterval = new TimeSpan(0, 0, 30); sshClient.ConnectionInfo.Timeout = new TimeSpan(0, 0, 30); sshClient.Connect(); ForwardedPortDynamic forwardedPortDynamic = new ForwardedPortDynamic(ipforward, Convert.ToUInt32(portforward)); sshClient.AddForwardedPort(forwardedPortDynamic); forwardedPortDynamic.Exception += delegate(object sender1, ExceptionEventArgs e1) { Console.WriteLine(e1.Exception.ToString()); }; forwardedPortDynamic.Start(); } catch (Exception ex) { cursshclient = sshClient; bool flag2 = ex.Message == "Only one usage of each socket address (protocol/network address/port) is normally permitted"; if (flag2) { MessageBox.Show("Port " + portforward + " đã được sử dụng, hãy đổi sang port khác", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Hand); return(true); } return(false); } cursshclient = sshClient; return(true); }
private bool Connect_SSH() { try { sshClient = new SshClient("sol.edu.cc.uec.ac.jp", ID, PW); portDynamic = new ForwardedPortDynamic("127.0.0.1", 8080); sshClient.Connect(); sshClient.AddForwardedPort(portDynamic); portDynamic.Start(); } catch (SshConnectionException e) { MessageBox.Show($"SSHコネクションが切断されました。\n{e.Message}"); return(false); } catch (SshAuthenticationException e) { MessageBox.Show($"SSH認証に失敗しました。\n{e.Message}"); return(false); } catch (SocketException e) { MessageBox.Show($"ソケットエラーです。\n多重起動していないか確認してください。\n{e.Message}"); return(false); } catch (Exception e) { MessageBox.Show($"不明なSSH接続時のエラーです。\n{e.Message}"); return(false); } return(true); }
public void Cleanup() { if (_client != null) { _client.Dispose(); _client = null; } if (_forwardedPort != null) { _forwardedPort.Dispose(); _forwardedPort = null; } if (_channelBindStarted != null) { _channelBindStarted.Dispose(); _channelBindStarted = null; } if (_channelBindCompleted != null) { _channelBindCompleted.Dispose(); _channelBindCompleted = null; } }
/// <summary> /// </summary> /// <param name="ip"></param> /// <param name="port"></param> /// <param name="socksPort"></param> /// <param name="user"></param> /// <param name="pass"></param> /// <param name="keyFile"></param> public Ssh2Socks(IPAddress ip, uint port, uint socksPort, string user, string pass, string keyFile) { Ip = ip; Port = port <= 0 ? 22 : port; User = user; Pass = pass; KeyFile = keyFile; Ssh = KeyFile == null ? new SshClient(Ip.ToString(), (int)Port, User, Pass) : new SshClient(Ip.ToString(), (int)Port, User, new PrivateKeyFile(KeyFile)); Ssh.Connect(); SocksPort = socksPort; if (SocksPort <= 0) { SocksPort = (uint)Helper.GetFreeTcpPort(); } ForwardedPort = new ForwardedPortDynamic("127.0.0.1", SocksPort); Ssh.AddForwardedPort(ForwardedPort); ForwardedPort.Start(); }
private void btn_Q2_Click(object sender, EventArgs e) { sshC = new SshClient("192.168.10.131", "root", "123123"); sshC.KeepAliveInterval = new TimeSpan(0, 0, 30); sshC.ConnectionInfo.Timeout = new TimeSpan(0, 0, 20); sshC.Connect(); // 动态链接 ForwardedPortDynamic port = new ForwardedPortDynamic("127.0.0.1", 22); sshC.AddForwardedPort(port); port.Start(); ////var fport = new ForwardedPortRemote("192.168.10.131", 22, "127.0.0.1", 22); ////sshC.AddForwardedPort(fport); ////fport.Start(); ////string x = sshC.RunCommand("pwd").Result; ; string x = sshC.RunCommand("pwd").Result; ; }
void JobLikeProduct(Account account, string port, string userAgent) { HttpRequest request = new HttpRequest(); var configXNet = new ConfigXNet(); configXNet.AddUserAgent(ref request, userAgent); try { using (var client = new SshClient(account.IP, 22, account.UsernameIP, account.PasswordIP)) { // timeout 30s client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(25); client.ErrorOccurred += (se, ev) => { }; client.KeepAliveInterval = TimeSpan.FromSeconds(60); client.Connect(); if (client.IsConnected) { var forwarder = new ForwardedPortDynamic("127.0.0.1", Convert.ToUInt32(port)); forwarder.Exception += (se, ev) => { }; client.AddForwardedPort(forwarder); forwarder.Start(); request.Proxy = HttpProxyClient.Parse(ProxyType.Socks5, "127.0.0.1:" + port); var login = new LoginAccount(); if (login.IsSuccessful(ref request, account)) { if (_removeProduct) { var remove = new RemoveProduct(); remove.Remove(ref request); } lock (_fileResultObj) { _randomAccount--; rtxtResult.Text += account.Email + " | " + account.Password + Environment.NewLine; } InteractProducts(ref request, account); } else { var export = new ExportResult(); lock (_fileErrorObj) { export.FileResult(_fileErrorPath, account); rtxtResult.Text += account.Email + " | " + account.Password + " | Lỗi không đăng nhập được" + Environment.NewLine; } return; } } else { return; } } } catch { var export = new ExportResult(); lock (_fileErrorObj) { export.FileResult(_fileErrorPath, account); rtxtResult.Text += account.Email + " | " + account.Password + " | Lỗi không đăng nhập được" + Environment.NewLine; } return; } }
//bool Login(Account account, ref HttpRequest request, string port, string useAgent) //{ // SettingsRequest(ref request, useAgent); // string html = request.Get("https://www.lazada.vn/customer/account/login/").ToString(); // var info = new ProductInfo(html); // request.AddParam("FORM_TOKEN", info.FormToken()); // request.AddParam("referer", "https://www.lazada.vn/"); // request.AddParam("LoginForm[email]", account.Email); // request.AddParam("LoginForm[password]", account.Password); // Thread.Sleep(THREAD_SLEEP_FAST); // html = request.Post("https://www.lazada.vn/customer/account/login/").ToString(); // html = request.Get("https://www.lazada.vn/customer/account/").ToString(); // if (html.Contains("Quản lý tài khoản")) // return true; // return false; //} void JobRegister(Account account, string port, string userAgent) { HttpRequest request = new HttpRequest(); var configXNet = new ConfigXNet(); configXNet.AddUserAgent(ref request, userAgent); try { using (var client = new SshClient(account.IP, 22, account.UsernameIP, account.PasswordIP)) { // timeout 30s client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(25); client.ErrorOccurred += (se, ev) => { }; client.KeepAliveInterval = TimeSpan.FromSeconds(60); client.Connect(); if (client.IsConnected) { var forwarder = new ForwardedPortDynamic("127.0.0.1", Convert.ToUInt32(port)); forwarder.Exception += (se, ev) => { }; client.AddForwardedPort(forwarder); forwarder.Start(); request.Proxy = HttpProxyClient.Parse(ProxyType.Socks5, "127.0.0.1:" + port); var register = new RegisterAccount(); if (register.IsSuccessful(ref request, account)) { lock (_randomAccountObj) { _randomAccount--; var export = new ExportResult(); export.FileResult(_fileResultPath, account); rtxtResult.Text += account.Email + " | " + account.Password + Environment.NewLine; } InteractProducts(ref request, account); //Debug.WriteLine(account.Email, "Xong"); } else { //Debug.WriteLine(account.Email, "Lỗi"); var export = new ExportResult(); lock (_fileErrorObj) export.FileResult(_fileErrorPath, account); } } else { //Debug.WriteLine(account.Email, "Lỗi SSH"); var export = new ExportResult(); lock (_fileErrorObj) export.FileResult(_fileErrorPath, account); } } } catch { //Debug.WriteLine(account.Email, "Lỗi SSH"); var export = new ExportResult(); lock (_fileErrorObj) export.FileResult(_fileErrorPath, account); } }
public bool LoginFakeIP(string profile, string mail) { var status = false; ChromeDriver driver = null; ForwardedPortDynamic port = null; SshClient client = null; ForwardSsh(ref client, ref port); var email = string.Empty; try { var mails = mail.Split((char[])null, StringSplitOptions.RemoveEmptyEntries); if (mails.Length < 3) { throw new Exception("Wrong email, password, email recovery format"); } email = mails[0]; string password = mails[1]; string recoveryEmail = mails[2]; string profile_path = Path.GetDirectoryName(profile); string profile_name = Path.GetFileName(profile); var service = ChromeDriverService.CreateDefaultService(); service.HideCommandPromptWindow = true; var options = new ChromeOptions(); options.AddArguments("--user-data-dir=" + profile_path); options.AddArguments("--profile-directory=" + profile_name); options.AddArguments("--proxy-server=socks5://127.0.0.1:1080"); options.AddArguments("disable-infobars"); options.AddArguments("start-maximized"); driver = new ChromeDriver(service, options); driver.Navigate().GoToUrl("https://accounts.google.com/signin/v2/identifier"); Thread.Sleep(config.Page_Load); var elements = driver.FindElements(By.XPath("//*/div[@id='profileIdentifier']")).Where(x => x.Displayed); if (elements.Count() == 0) { var mailInput = driver.FindElement(By.XPath("//*/input[@id='identifierId']")); mailInput.SendKeys(Keys.Control + "a"); mailInput.SendKeys(email); Thread.Sleep(config.Wait_Enter); mailInput.SendKeys(Keys.Enter); Thread.Sleep(config.Page_Load); } var passwordInput = driver.FindElementsByTagName("input").First(x => x.GetAttribute("name") == "password"); passwordInput.SendKeys(Keys.Control + "a"); passwordInput.SendKeys(password); Thread.Sleep(config.Wait_Enter); passwordInput.SendKeys(Keys.Enter); Thread.Sleep(config.Page_Load); var confirmRecoveryEmailOptionButtons = driver.FindElementsByClassName("vdE7Oc").Where(x => x.Displayed).ToArray(); var numOptions = confirmRecoveryEmailOptionButtons.Length; if (numOptions > 0) { IWebElement confirmRecoveryEmailOptionButton = null; if (numOptions == 1) { confirmRecoveryEmailOptionButton = confirmRecoveryEmailOptionButtons[0]; confirmRecoveryEmailOptionButton.Click(); Thread.Sleep(config.Page_Load); } else { try { confirmRecoveryEmailOptionButton = confirmRecoveryEmailOptionButtons[numOptions - 2]; confirmRecoveryEmailOptionButton.Click(); Thread.Sleep(config.Page_Load); var secretQuestionResponses = driver.FindElementsByTagName("input").Where(x => x.GetAttribute("name") == "knowledgePreregisteredEmailResponse").Where(x => x.Displayed); if (secretQuestionResponses.Count() == 0) { var otherMethodButton = driver.FindElement(By.XPath("//*/div[@class='daaWTb']/div[@class='U26fgb O0WRkf oG5Srb HQ8yf C0oVfc nDKKZc NpwL8d NaOGkc']/content[@class='CwaK9']/span[@class='RveJvd snByac']")); otherMethodButton.Click(); Thread.Sleep(config.Page_Load); confirmRecoveryEmailOptionButtons = driver.FindElementsByClassName("vdE7Oc").Where(x => x.Displayed).ToArray(); confirmRecoveryEmailOptionButton = confirmRecoveryEmailOptionButtons[numOptions - 3]; confirmRecoveryEmailOptionButton.Click(); Thread.Sleep(config.Page_Load); } } catch (Exception ex) { using (StreamWriter writer = new StreamWriter("Error.txt", true)) { writer.WriteLine("Email: " + email + "|" + ex.ToString()); } } } } var recoveryMailInputs = driver.FindElementsByTagName("input").Where(x => x.GetAttribute("name") == "knowledgePreregisteredEmailResponse"); if (recoveryMailInputs.Count() > 0) { var recoveryMailInput = recoveryMailInputs.First(); recoveryMailInput.SendKeys(Keys.Control + "a"); recoveryMailInput.SendKeys(recoveryEmail); Thread.Sleep(config.Wait_Enter); recoveryMailInput.SendKeys(Keys.Enter); Thread.Sleep(config.Page_Load); } driver.Navigate().GoToUrl("https://mail.google.com/mail/u/0/#inbox"); Thread.Sleep(config.Page_Load); status = true; } catch (Exception e) { using (StreamWriter writer = new StreamWriter("Error.txt", true)) { writer.WriteLine("Profile: " + Path.GetFileName(profile) + "|Email: " + email + "|" + e.ToString()); } } if (driver != null) { driver.Close(); driver.Quit(); } if (port != null) { port.Stop(); } if (client != null) { client.Disconnect(); } return(status); }
void SSHConnect(object sender, DoWorkEventArgs e) { if (_MainForm.textBox1.Text == string.Empty) { MessageBox.Show("No hostname specified"); return; } if (_MainForm.textBox2.Text == string.Empty) { MessageBox.Show("No username specified"); } if (!_MainForm.radioButton1.Checked && !_MainForm.radioButton2.Checked) { MessageBox.Show("No authentication specified"); return; } try { using (var client = new SshClient(_MainForm.textBox1.Text, _MainForm.textBox2.Text, _MainForm.getAuth())) { var ProxyPort = new ForwardedPortDynamic("127.0.0.1", 1080); _MainForm.WriteLog("Attempting connection to " + _MainForm.textBox1.Text); client.Connect(); if (client.IsConnected) { //Connect isConnected = true; _MainForm.WriteLog("Connected"); _MainForm.WriteLog("Adding SOCKS port: " + ProxyPort.BoundHost + ":" + ProxyPort.BoundPort); client.AddForwardedPort(ProxyPort); ProxyPort.Start(); _MainForm.WriteLog("Ready for connections"); _MainForm.ConnectionButton.Text = "Disconnect"; _MainForm.textBox1.ReadOnly = true; _MainForm.textBox2.ReadOnly = true; _MainForm.textBox3.ReadOnly = true; _MainForm.radioButton1.Enabled = false; _MainForm.radioButton2.Enabled = false; _MainForm.textBox4.ReadOnly = true; _MainForm.textBox5.ReadOnly = true; _MainForm.button3.Enabled = false; _MainForm.WriteLog("Setting windows proxy"); _MainForm.WriteLog("Connected"); RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true); registry.SetValue("ProxyEnable", 1); registry.SetValue("ProxyServer", "socks=127.0.0.1:1080"); settingsReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0); refreshReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0); ConnectionButton.Enabled = true; while (isConnected) { Thread.Sleep(1000); } //Disconnect _MainForm.WriteLog("Setting windows proxy to default values"); WriteLog("Disconnecting"); registry.SetValue("ProxyEnable", 0); registry.DeleteValue("ProxyServer"); settingsReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0); refreshReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0); ProxyPort.Stop(); client.RemoveForwardedPort(ProxyPort); client.Disconnect(); Thread.Sleep(500); WriteLog("Disconnected"); _MainForm.textBox1.ReadOnly = false; _MainForm.textBox2.ReadOnly = false; _MainForm.textBox3.ReadOnly = false; _MainForm.radioButton1.Enabled = true; _MainForm.radioButton2.Enabled = true; _MainForm.textBox4.ReadOnly = false; _MainForm.textBox5.ReadOnly = false; _MainForm.button3.Enabled = true; ConnectionButton.Enabled = true; _MainForm.ConnectionButton.Text = "Connect"; } } } catch (Exception ex) { _MainForm.WriteLog(ex.Message); MessageBox.Show(ex.Message); _MainForm.textBox1.ReadOnly = false; _MainForm.textBox2.ReadOnly = false; _MainForm.textBox3.ReadOnly = false; _MainForm.radioButton1.Enabled = true; _MainForm.radioButton2.Enabled = true; _MainForm.textBox4.ReadOnly = false; _MainForm.textBox5.ReadOnly = false; _MainForm.button3.Enabled = true; ConnectionButton.Enabled = true; _MainForm.ConnectionButton.Text = "Connect"; } }
public bool LoginByCookieFakeIP(string profile, string allCookies) { var status = false; ChromeDriver driver = null; var email = string.Empty; ForwardedPortDynamic port = null; SshClient client = null; ForwardSsh(ref client, ref port); try { string profile_path = Path.GetDirectoryName(profile); string profile_name = Path.GetFileName(profile); var service = ChromeDriverService.CreateDefaultService(); service.HideCommandPromptWindow = true; var options = new ChromeOptions(); options.AddArguments("--user-data-dir=" + profile_path); options.AddArguments("--profile-directory=" + profile_name); options.AddArguments("--proxy-server=socks5://127.0.0.1:1080"); options.AddArguments("disable-infobars"); options.AddArguments("start-maximized"); driver = new ChromeDriver(service, options); driver.Navigate().GoToUrl("https://www.youtube.com"); var cookies = allCookies.Split(';'); foreach (var cookie in cookies) { var pair = cookie.Split('='); if (pair.Count() == 2) { driver.Manage().Cookies.AddCookie(new OpenQA.Selenium.Cookie(pair[0].Trim(), pair[1].Trim())); } } driver.Navigate().Refresh(); Thread.Sleep(config.Page_Load); status = true; } catch (Exception e) { using (StreamWriter writer = new StreamWriter("Error.txt", true)) { writer.WriteLine("Profile: " + Path.GetFileName(profile) + "|Email: " + email + "|" + e.ToString()); } } if (driver != null) { driver.Close(); driver.Quit(); } if (port != null) { port.Stop(); } if (client != null) { client.Disconnect(); } return(status); }