Exemple #1
0
        //提取用户的基本信息,调用方法将其存入数据库并返回成功或失败
        public Boolean InsertIntoDB(Home.AnalyzeResult AnalyzeResult)
        {
            RecordWords RecordWord = new RecordWords();

            RecordWord.HostIp     = AnalyzeResult.RequestHeader.HostIp;
            RecordWord.Port       = AnalyzeResult.RequestHeader.Port;
            RecordWord.Method     = AnalyzeResult.RequestHeader.Method;
            RecordWord.URL        = AnalyzeResult.RequestHeader.URL;
            RecordWord.TotalBytes = AnalyzeResult.RequestHeader.TotalBytes;
            if (AnalyzeResult.ResultReport == "该主机已被设置为黑名单,无法访问")
            {
                RecordWord.Visit_Limit = true;
            }
            else
            {
                RecordWord.Visit_Limit = false;
            }
            RecordWord.Remarks = AnalyzeResult.ResultReport;
            if (InsertRecord(RecordWord))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #2
0
        //转发报文,并获取真实服务器的响应报文--POST请求
        private ResponseResult Send(Home.AnalyzeResult AnalyzeResult)
        {
            ResponseResult responseresult = new ResponseResult();

            try
            {
                //添加checknum字段用于标识该请求来源于防火墙已过滤的请求
                string         postData   = AnalyzeResult.RequestContents.ToString() + "&checknum=321";
                byte[]         byteArray  = Encoding.UTF8.GetBytes(postData);
                string         url        = "http://mymvclogindemo.top/MVCDemo/Home";
                HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(url));

                //添加请求的客户端cookie
                if (AnalyzeResult.RequestHeader.Cookies.Count != 0)
                {
                    CookieCollection CookiesArray = new CookieCollection();
                    Cookie           Cookie       = new Cookie();
                    foreach (string CookieKey in AnalyzeResult.RequestHeader.Cookies.Keys)
                    {
                        Cookie.Name  = CookieKey;
                        Cookie.Value = AnalyzeResult.RequestHeader.Cookies[CookieKey];
                        CookiesArray.Add(Cookie);
                    }
                    webRequest.CookieContainer = new CookieContainer();
                    if (CookiesArray.Count > 1)
                    {
                        webRequest.CookieContainer.Add(CookiesArray);
                    }
                }
                webRequest.Method        = "POST";
                webRequest.ContentType   = AnalyzeResult.RequestHeader.ContentType;
                webRequest.ContentLength = byteArray.Length;
                Stream newStream = webRequest.GetRequestStream();
                newStream.Write(byteArray, 0, byteArray.Length);
                newStream.Close();

                //获取响应报文并格式化
                HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
                responseresult.ResponseList = response;
                StreamReader Message = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                responseresult.ResponseContents = Message.ReadToEnd();
                responseresult.ResponseReport   = "读取成功";
                return(responseresult);
            }
            catch
            {
                responseresult.ResponseReport = "读取失败";
                return(responseresult);
            }
        }
Exemple #3
0
 //调用方法获取GET请求的真实服务器响应
 public ResponseResult GetResponseByGet(Home.AnalyzeResult AnalyzeResult)
 {
     return(SendByGet(AnalyzeResult));
 }