Esempio n. 1
0
        public static List <Smb2Protocol.NetworkInfo> GetFCTL_QUERY_NETWORK_INFO(string server, NetworkCredential credential = null)
        {
            Trace.WriteLine("Checking " + server + " for GetFCTL_QUERY_NETWORK_INFO");
            TcpClient client = new TcpClient();

            client.ReceiveTimeout = 500;
            client.SendTimeout    = 500;
            try
            {
                client.Connect(server, 445);
            }
            catch (Exception)
            {
                Trace.WriteLine("Error with " + server + "(port closed)");
                return(null);
            }
            try
            {
                NetworkStream stream = client.GetStream();
                var           smb2   = new Smb2Protocol(stream, server);

                smb2.SendNegotiateRequest(0x0302);

                smb2.SendSessionSetupRequests(credential);

                smb2.SendTreeConnect("\\\\" + server + "\\IPC$");

                var o = smb2.GetNetworkInterfaceInfo();

                client.Close();

                return(o);
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Error with " + server + "(" + ex.Message + ")");
                return(null);
            }
        }