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); }
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; }
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; }
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); } }
protected abstract bool ValidTestModel(TestModel testModel);