Example #1
0
        public object applyOn(SpotterJson spotter)
        {
            var root = spotter.GetRoot();
            var mail = new MailMsg();

            if (root.XPathSelectElement("/result/message") != null)
            {
                // there should be only one message in response to display message
                foreach (var msg in root.XPathSelectElements("/result/message/item"))
                {
                    mail.Subject      = msg.XPathSelectElement("header/subject").Value;
                    mail.From         = msg.XPathSelectElement("header/from/email").Value;
                    mail.To           = YahooGetListedMessages.GetAllInArray(msg, "header/to//email", "; ");
                    mail.Cc           = YahooGetListedMessages.GetAllInArray(msg, "header/cc//email", "; ");
                    mail.Bcc          = YahooGetListedMessages.GetAllInArray(msg, "header/bcc//email", "; ");
                    mail.Body         = YahooGetListedMessages.GetAllInArray(msg, "part//text", "");
                    mail.SourceFolder = msg.XPathSelectElement("sourceFolderInfo/name").Value;
                }
            }

            return(mail);
        }
        public void TestSpotterJson()
        {
            this.FrameworkController.ProcessCapture(this.PrepareCaptureForProcessing(SnoopersPcaps.Default.webmail_webmail_yahoo_rc4_pcapng));

            var conversations = this.L7Conversations.ToArray();
            var pk            = File.ReadAllText(PrivateKeys.Default.pk_pem);

            foreach (var conversation in conversations)
            {
                conversation.Key = new CypherKey();
                conversation.Key.ServerPrivateKey = pk;
            }

            this.FrameworkController.ExportData(this.AvailableSnoopers.Where(x => x is SnooperHTTP.SnooperHTTP), conversations, this.CurrentTestBaseDirectory, true);

            var msgObject = this.SnooperExports.ToArray()[0].ExportObjects[41] as SnooperExportedDataObjectHTTP;

            Assert.AreNotEqual(null, msgObject);
            var msg     = msgObject.Message;
            var spotter = new SpotterJson();

            spotter.Init(msg);

            /* verify true states */
            Assert.AreEqual(true, spotter.IsSpottable());

            Assert.AreEqual(true, spotter.ContainsOneOf(new[] { "nieco", "Test Netfox" }, SpotterBase.SpotterContext.ContentValue));

            Assert.AreEqual(true, spotter.Contains("message", SpotterBase.SpotterContext.AllKey));

            Assert.AreEqual(true, spotter.ContainsKeyValuePair("subject", "nova sprava", SpotterBase.SpotterContext.ContentPair));

            /* verify false states */
            Assert.AreEqual(false, spotter.ContainsOneOf(new[] { "nieco", "ine" }, SpotterBase.SpotterContext.ContentKey));

            Assert.AreEqual(false, spotter.Contains("hocico", SpotterBase.SpotterContext.AllKey));

            Assert.AreEqual(false, spotter.ContainsKeyValuePair("subject", "Confidentioal", SpotterBase.SpotterContext.AllPair));
        }
        public object applyOn(SpotterJson spotter)
        {
            var root = spotter.GetRoot();
            var list = new List <MailMsg>();

            if (root.XPathSelectElement("/result//messageInfo") != null)
            {
                foreach (var conversation in root.XPathSelectElements("/result//messageInfo"))
                {
                    foreach (var msg in conversation.XPathSelectElements("item"))
                    {
                        var mail = new MailMsg();
                        mail.From         = msg.XPathSelectElement("from/email").Value;
                        mail.To           = msg.XPathSelectElement("toEmail").Value;
                        mail.Subject      = msg.XPathSelectElement("subject").Value;
                        mail.Body         = msg.XPathSelectElement("snippet").Value;
                        mail.SourceFolder = msg.XPathSelectElement("sourceFolderInfo/name").Value;
                        list.Add(mail);
                    }
                }
            }
            return(list);
        }
 public object applyOn(SpotterJson spotter)
 {
     throw new NotImplementedException();
 }