ip封包
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
從一直以來討論至今﹐我們都不斷地接觸到“封包”這個詞﹐相信您也很有興趣想知道這個“封包”究竟是個什麼樣的東東吧﹗下面就讓我們一起看看一個IP封包究竟包含了那些內容。 擷取IP封包 如果您的機器上面裝有 netxray 等封包擷取軟體﹐或使用NT的“網路監視器”﹐我們就可以擷取那些進出本機的封包了。 當我們打開擷取功能之後﹐然後使用ping命令隨便ping一個地址﹐如﹕www.hinet.net。我們可以擷取到如下這些封包﹕ 正如我們所見到的﹐我們擷取到DNS和ICMP的封包了﹐因為www.hinet.net需要到DNS解釋﹐而ping是一個ICMP協定。您或許知道ICMP封包的type為“Echo Request”和“Echo Reply”分別代表什麼意思吧﹖ 讓我們再深入一點﹐看看DNS封包裡面有些什麼東東﹕ 如果您往上卷回有關“DNS”的文章﹐看看我們用 nslookup 的 debug 模式查找 www.hinet.ne t這個網址時候﹐引證一下那裡的內容﹐您就知道這個封包說些什麼了。 下面讓我們再看看ICMP封包裡面的內容﹕ 其實我們真正擷取到的封包內容應該是紅圈的範圍﹐在上面和右邊的欄目裡面的資料是經過程式整理出來的結果。在第一行裡面﹐我們看到“00 80 c7 47 8c 9a 48 54 e8 27 75 77”這串數字﹐所代表的分別是目的地和來源地的MAC地址﹔然後“08 00”代表的是一個Ethernet II的IP協定類型。Ethernet II可以說是IEEE802.3的改進版本。(還記得“網路概論”裡面關於“邏輯形態”的敘述麼﹖)。這裡可以說是Datalink網路層所要追蹤的資料。 然後﹐接下來的是屬於IP封包的內容﹕ 請先記著上圖的內容﹐我打算在下一節裡面在詳細討論每一行的意思。 IP封包格式 首先﹐讓我們看看IP封包的格式是怎樣的﹐和其組成部份﹐以及各部份的長度如何﹕
在上圖中﹐括號之內的數字就是各部件的長度(bit)﹐如果您夠細心﹐就會計算得出每一列的總長度都是32bit。下面我們分別對各部件名稱解釋一下﹕
讓我們看看我們擷取的ICMP封包﹐其中屬於IP部份的開頭﹕ 在這裡﹕我們看到的數值是“45”﹐前面的“4”就是版本號數﹐而後面的“5”則是標頭長度。
從上圖我們看到的十六進位數值是“003C”﹐換成十進位就是“60”了。
從上圖我們可以看到此封包的ID為﹕40973 (將 a00d 換成十進制就知道了)。
在下例中﹐我們看到這個封包的標記為“0”﹐也就是目前並未使用。
上圖中我們看到的數值﹐可不是 20 哦﹐因為這是個十六進位數字﹐要換成十進位才知道 TTL 原來是 32 個跳站。
在我們這個例子中﹐可以看得出PROT的號碼為“01”﹐對照/etc/protocol檔案﹐我們可以知道這是一個ICMP協定。
上圖中我們看到的封包之HC為﹕“9049”。
我們將“c0.a8.00.0f”換成十進位﹐就可以得出“192.168.0.15”這個地址了。
看看﹐你能不能將“a8.5f.01.54”換成“168.95.1.84”﹖
www.study-area.org © 2001 Netman 網中人 |
ip封包的更多相关文章
- IP封包的封装 - 首部内容
IP 封包的封装 目前因特网社会的 IP 有两种版本,一种是目前使用最广泛的 IPv4 (Internet Protocol version 4, 因特网协定第四版), 一种则是预期未来会热门的 IP ...
- IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式
IP协议头IP包头格式: 1.版本号:4个bit,用来标识IP版本号.这个4位字段的值设置为二进制的0100表示IPv4,设置为0110表示IPv6.目前使用的IP协议版本号是4. 2.首部长度:4个 ...
- 【linux】虚拟机安装centos后ping ip地址出现错误:Network is unreachable
来源:https://my.oschina.net/stonezing/blog/515480 方案一: 进入/etc/sysconfig/network-scripts/ 查看这下面的文件 每个人的 ...
- 2.1.5 计算机网络协议: TCP/IP
应用程序阶段:妳打开浏览器,在浏览器上面输入网址列,按下 [Enter].此时网址列与相关数据会被浏览器包成一个数据, 并向下传给 TCP/IP 的应用层: 应用层:由应用层提供的 HTTP 通讯协议 ...
- 如何在 Linux 终端中知道你的公有 IP
导读 在本文中我将会介绍在几种在 Linux 终端中查看你的公有 IP 地址的方法.这对普通用户来说并无意义,但 Linux 服务器(无GUI或者作为只能使用基本工具的用户登录时)会很有用.无论如何, ...
- IP的种类与获取方式
IP 的种类与取得方式 接下来要跟大家谈一谈也是很容易造成大家困扰的一个部分,那就是 IP 的种类!很多朋友常常听到什么『真实IP, 实体 IP, 虚拟 IP, 假的 IP....』烦都烦死了-其实不 ...
- 初识TCP/IP协议
初识TCP/IP协议 TCP/IP 全称是(Transmission Control Protocol / Internet Protocol),传输控制协议/网际协议.TCP/IP定义了电子设备(比 ...
- 在Linux终端中查看公有IP的方法详解
首先回顾一下一般的查看IP的命令: ifconfigLinux查看IP地址的命令--ifconfigifconfig命令用于查看和更改网络接口的地址和参数 $ifconfig -a lo0: fla ...
- 【TCP/IP】【网络基础】网页访问流程
引用自 <鸟哥的linux私房菜> http://cn.linux.vbird.org/linux_server/0110network_basic_1.php#ps7 那 TCP/IP ...
随机推荐
- Android 解析Json_fastJson
FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能. 实际上其他的json处理工具都和 ...
- installing mysql,this may take a few minutes,hold on plz wdcp卡住解决办法
centos6安装wdcp时make in progress卡住的解决办法 今天在一台centos6的vps上安装wdcp出现的这个问题,到安装程序滚动至下面这里时出现"卡死". ...
- haproxy para config
.. from http://www.cnblogs.com/dkblog/archive/2012/03/13/2393321.html 常用配置选项: OPTION 选项: option http ...
- Python 的安装与配置(Windows)
Python2.7安装配置 python的官网地址:https://www.python.org/ 我这里下载的是python2.7.12版本的 下载后点击安装文件,直接点击下一步知道finally完 ...
- VS2010中汉字拷贝到Word出现乱码问题解决
VS2010中的汉字拷贝到Word时出现乱码,有三种解决方法: 一.粘贴时,选择“仅保留文本”.如图: 二.先拷贝粘贴到记事本文件内,此时会自动过滤格式信息,再从记事本拷贝到Word. 三.使用转换软 ...
- [Struts2] Action Implements SessionAware
struts2 的Action中若希望访问Session对象,可采用两种方式: 1.从ActionContext中获取: 2.实现SessionAware接口. 1.从ActionContext中获取 ...
- DataList删除操作
<asp:DataList ID="fileList" runat="server" RepeatColumns="1" Repeat ...
- 国内外从事CV相关的企业
提示:本文为笔者原创,转载请注明出处:blog.csdn.net/carson2005 经常碰到朋友问我国内从事计算机视觉(CV)领域的公司的发展情况,产品情况,甚至找工作等问题,这里,我给出自己收集 ...
- 安卓版App开发心得
从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主. 将这段时间的Android开发心得记录如下 ...
- [转载] 不查资料确定int型整数的最大值和最小值
原文地址:http://blog.csdn.net/zhanghuoding/article/details/42719213 想法来自于书中的习题. Java的话直接输出 Integer.MAX_V ...