Exemplo n.º 1
0
 internal void InformControlUnit(TestModel testModel)
 {
     var vList = new List<Variable>
         {
             new Variable(
                 new ObjectIdentifier(testModel.Id.Path),
                 new OctetString(testModel.Id.ToString())),
             new Variable(
                 new ObjectIdentifier(testModel.IpDest.Path),
                 new OctetString(testModel.IpDest.ToString())),
             new Variable(
                 new ObjectIdentifier(testModel.TestResult.Path),
                 new OctetString(testModel.TestResult.ToString())),
             new Variable(
                 new ObjectIdentifier(testModel.IpSrc.Path),
                 new OctetString(testModel.IpSrc.ToString()))
         };
     foreach (Variable variable in vList)
     {
         logger.InfoFormat("Trap var: {0}", variable);
     }
     logger.Info("Trap sended");
     Messenger.SendTrapV1(new IPEndPoint(_mibController.ControlUnitIP, 162), IPAddress.Loopback,
                          SNMPHelper.Community, new ObjectIdentifier(SNMPHelper.TratTreePath),
                          GenericCode.ColdStart,
                          0, 0, vList);
 }
Exemplo n.º 2
0
 protected override bool ValidTestModel(TestModel testModel)
 {
     try
     {
         if (testModel.Id != null && testModel.IpDest != null && testModel.TestResult != null)
         {
             if (!SNMPHelper.ValidIpHost(testModel.IpDest.ToString()))
             {
                 logger.Error("Test IpDest not avaible; TestModel" + testModel);
                 return false;
             }
             return true;
         }
     }
     catch (Exception e)
     {
         _logger.Error("Error while validating Model" + e + testModel);
     }
     return false;
 }
Exemplo n.º 3
0
        public static bool StartTest(TestModel testModel)
        {
            try
            {
                var client = new TcpClient(testModel.IpDest.Data.ToString(), Port);

                var testValues = new TestValues
                    {
                        A = new Random((int) DateTime.Now.Ticks).Next(1, 100),
                        B = new Random((int) DateTime.Now.AddDays(1).Ticks).Next(1, 100)
                    };
                byte[] data = Encoding.ASCII.GetBytes(testValues.Serialize());

                NetworkStream stream = client.GetStream();
                stream.Write(data, 0, data.Length);

                _logger.Info(string.Format("Sent: {0}", testValues.Serialize()));

                data = new byte[4096];
                String recvHash = String.Empty;

                Int32 bytes = stream.Read(data, 0, data.Length);
                recvHash = Encoding.ASCII.GetString(data, 0, bytes);
                _logger.Info(string.Format("Received: {0}", recvHash));

                stream.Close();
                client.Close();

                string inHash = Test(testValues.A, testValues.B);
                return inHash == recvHash;
            }
            catch (ArgumentNullException e)
            {
                _logger.Error("ArgumentNullException: {0}", e);
            }
            catch (SocketException e)
            {
                _logger.Error("SocketException: {0}", e);
            }
            return false;
        }
Exemplo n.º 4
0
        private void OnValidTestModelAdded(object sender, TestModel testModel)
        {
            IPAddress testSrcIp = IPAddress.Parse(testModel.IpSrc.ToString());
            var receiver = new IPEndPoint(testSrcIp, 161);
            try
            {
                logger.Debug("Valid Model Added: " + testModel);
                List<Variable> vList = testModel.SerializeToAgent();
                SNMPHelper.SNMPSet(vList, receiver);

                if (!_testController.isAlive)
                    _testController.StartController();
            }
            catch (Exception e)
            {
                logger.Error(e);
            }
        }
Exemplo n.º 5
0
 protected abstract bool ValidTestModel(TestModel testModel);