Exemple #1
0
        public void ContextWithInvalidIPAddress()
        {
            var serverVariables = new NameValueCollection();

            this.request.Setup(x => x.ServerVariables).Returns(serverVariables);
            this.SetupHeader("notanipaddress");

            var module = new OriginalIP();

            module.OnBeginRequest(context.Object);

            request.Verify();
            Assert.AreEqual(0, serverVariables.Count);
        }
Exemple #2
0
        public void ContextWithMultipleIPAddresses()
        {
            var serverVariables = new NameValueCollection();
            var ip = "10.5.1.1, 10.5.1.2, 10.5.1.3";

            this.SetupHeader(ip);
            this.request.Setup(x => x.ServerVariables).Returns(serverVariables).Verifiable();

            var module = new OriginalIP();

            module.OnBeginRequest(context.Object);

            request.VerifyAll();

            Assert.AreEqual(2, serverVariables.Count);
            Assert.AreEqual("10.5.1.1", serverVariables["REMOTE_ADDR"]);
            Assert.AreEqual("10.5.1.1", serverVariables["REMOTE_HOST"]);
        }
Exemple #3
0
        public uint GetASN()
        {
            if (asn != 0)
            {
                return(asn);
            }

            try
            {
                string   reverseIp = new IPAddress(OriginalIP.GetAddressBytes().Reverse().ToArray()).ToString();
                Response response  = dnsResolver.Query($"{reverseIp}.origin.asn.cymru.com", QType.TXT);

                asn = uint.Parse(response.RecordsTXT.FirstOrDefault()?.TXT.FirstOrDefault().Split('|').FirstOrDefault());
            }
            catch
            {
                return(0);
            }

            return(asn);
        }
Exemple #4
0
        public void ContextNull()
        {
            var module = new OriginalIP();

            module.OnBeginRequest(null);
        }