1: <%@ Page Language="C#" Trace="true" %>
2: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3: <script runat="server">
4:
5: protected void Page_Load(object sender, EventArgs e)
6: {
7: this.Trace.Warn(System.Net.IPAddress.Parse(this.Request["REMOTE_HOST"]).AddressFamily.ToString());
8: this.IPLabel.Text = this.IsInSubNetwork(
9: "192.168.2.0",
10: "255.255.255.0",
11: this.Request.ServerVariables["REMOTE_HOST"]) ? ("YES") : ("NO");
12: }
13:
14:
15: private bool IsInSubNetwork(string network, string mask, string address)
16: {
17: uint netval = _IP2INT(network);
18: uint maskval = _IP2INT(mask);
19: uint addval = _IP2INT(address);
20:
21: return (netval & maskval) == (addval & maskval);
22: }
23:
24: private uint _IP2INT(string address)
25: {
26: string[] segments = address.Split('.');
27:
28: uint ipval = 0;
29: foreach (string segment in segments)
30: {
31: ipval = ipval * 256 + uint.Parse(segment);
32: }
33:
34: return ipval;
35: }
36:
37:
38: </script>
39:
40: <html xmlns="http://www.w3.org/1999/xhtml">
41: <head runat="server">
42: <title>Untitled Page</title>
43: </head>
44: <body>
45: <form id="form1" runat="server">
46: <div>
47: Is Intranet? <asp:Label ID="IPLabel" runat="server" />
48: </div>
49: </form>
50: </body>
51: </html>