1. 程式人生 > >ip轉換為純數字(如何用數字表示ip?)

ip轉換為純數字(如何用數字表示ip?)

原文地址:http://blog.csdn.net/zgyulongfei/article/details/48845373

轉載請註明出處!!

ip可以轉換成數字,這個可能有許多人還不知道哦,今天博主就來道破此不可洩露之天機安靜

比如百度解析的ip為 112.80.248.73:


我們也可以通過ip的方式來訪問此網頁,就是說:

http://www.baidu.com 與 http://112.80.248.73 的效果是等價的。

本次洩漏的天機就是把ip轉換為數字,且聽我娓娓道來。

這個ip是10進製表示的,我們可以用一個字串顯示,我們來看一下效果


咦?那幾行結果是個什麼東西?

來,我截圖給大家感受一下啊:




我了個擦,怎麼全部都解析到112.80.248.73呢?

所以現在要訪問百度,用以下的方式都可以訪問哦:

http://www.baidu.com
http://112.80.248.73 
http://1884354633
http://0016024174111
http://0x7050f849

-------------------------------問答環節-----------------------------------

Q:那這個東西有什麼用呢?疑問

A:我不能再多說了,否則葉良辰要來找我麻煩了!閉嘴

------------------------------------------------------------------------------

附件1:

乖乖交出原始碼:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ipToNumber
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string ip = textBox1.Text.Trim();
            long num10 = ipToLong(ip);
            string num8 = Convert.ToString(num10, 8);
            string num16 = Convert.ToString(num10, 16);
            string result = "http://" + num10;
            result += "\r\nhttp://00" + num8;
            result += "\r\nhttp://0x" + num16;
            textBox2.Text = result;
        }

        public long ipToLong(String ipAddress)
        {
            //將目標IP地址字串strIPAddress轉換為數字
            string[] arrayIP = ipAddress.Split('.');
            long sip1 = Int64.Parse(arrayIP[0]);
            long sip2 = Int64.Parse(arrayIP[1]);
            long sip3 = Int64.Parse(arrayIP[2]);
            long sip4 = Int64.Parse(arrayIP[3]);

            long r1 = sip1 * 256 * 256 * 256;
            long r2 = sip2 * 256 * 256;
            long r3 = sip3 * 256;
            long r4 = sip4;

            long result = r1 + r2 + r3 + r4;
            return result;
        }
    }
}