玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】

- 抓取ARP包
https://blog.csdn.net/u011416247/article/details/80866725

本实验使用的版本是wireshark2.4.7版,打开软件,选择“捕获”-“选项”。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第1张图片

选择当前连的网,一般选择流量“起起伏伏”的那个接口。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第2张图片

 此时会有海量的数据包,为了便于分析,我们使用过滤器输入“arp”以筛选出arp报文。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第3张图片

选取以下的发送和接收的报文进行分析,arp一次请求由广播的请求报文和单播的应答报文组成,所以这一组报文的源MAC地址和目的MAC地址是对调的。可以看一下Info的信息很有意思,请求报文广播说“谁有192.168.1.1的mac地址?告诉192.168.1.12吧!”,响应的报文对请求的地址单播说“192.168.1.1的mac地址是98:13:33:69:ca:cd”。

下面的Address ResolutionProtocol就是arp协议,这个报文是请求包,因为目标的MAC地址是全0。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第4张图片

具体的字段解释如下,源IP是192.168.1.12,目的IP是192.168.1.1,但是不知道具体的目的地的mac地址。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第5张图片


以下是响应包的内容

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第6张图片

它在响应包里面把mac地址补全,单播发给了源地址192.168.1.1。

 

ARP协议是工作在OSI模型里面的第二层数据链路层的协议,它的过程相对比较简单,但是确实一个很重要的协议,并且和网络层协议IP协议紧密配合一起工作。

- 抓取IP包
https://blog.csdn.net/u011416247/article/details/80867789

(首先声明一下我也是一名小白,初学wireshark没多久,我也很愿意和大家一起讨论wireshark的具体应用。)

本实验使用的版本是wireshark2.4.7版,选择“捕获”-“选项”。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第7张图片

选择当前连的网,一般选择流量“起起伏伏”的那个接口。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第8张图片

此时会有海量的数据包,为了便于分析,我们使用过滤器输入“ip.src==192.168.1.1”以筛选出源地址为192.168.1.1的报文。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第9张图片

双击点击一条tcp报文进入详细信息,为什么不选Protocol类型为IP的协议呢?答案是没有,tcp报文正是基于ip协议的,tcp是传输层协议,而ip是它底下的网络层协议。


如下图,框起来的部分是一个完整IPV4报文。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第10张图片

图A

具体字段含义如下图

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第11张图片

                            图B

重点关注几个字段:

Version:4 这里指的是IPv4,两张图都是一样的。

Header Length:20 bytes:IPv4的首部是固定的,就是20字节。

Total Length:图A的是895图B的是60,代表IP报文总长度,报文总长度不能超过1500字节,否则需要分片。1500字节的限制是以太网在数据链路层带来的。IP数据部分最大长度1480,头部20字节。

Don’t fragment:图A为1表示不能被分割,图B为0表示可以。

More fragments:图A和图B 均为0,表示没有后一个分片。

Time to live:代表还剩余多少跳被丢弃,即还可以经过多少个路由器,两边都是64。设置该字段的目的在于防止网络环路。

Protocol:上层的协议,比如tcp,udp。

Source,Destination:源地址,目的地址。家里的网络一般是192.168开头的,这是一个典型的本地地址。

 

这里有一个有趣的现象,很多的包都是源地址是192.168.1.1目的地址是192.168.1.12,这是为什么呢?我们可以先进入cmd输入一个熟悉的指令ipconfig。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第12张图片

发现源地址192.168.1.1的含义为本地默认网关,也就是路由器在内网的地址,而目的地址192.168.1.12为本地计算机在内网的ip。说明这个包是路由器发到本机上的,这是我们访问互联网时时路由器从互联网上获得IP报文再发到本机上的过程。

- 抓取UDP包
https://blog.csdn.net/u011416247/article/details/80868133

(首先声明一下我也是一名小白,初学wireshark没多久,我也很愿意和大家一起讨论wireshark的具体应用。)

本实验使用的版本是wireshark2.4.7版,选择“捕获”-“选项”。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第13张图片

选择当前连的网,一般选择流量“起起伏伏”的那个接口。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第14张图片

此时会有海量的数据包,为了便于分析,我们使用过滤器输入“udp”以筛选出udp报文。但是为什么输入udp之后出现那么多种协议呢?原因就是oicq以及dns都是基于udp的传输层之上的协议。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第15张图片

双击上图中选中的报文,展看详细信息如下图。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第16张图片

各个字段的详细信息如下图。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第17张图片

UDP有着很广泛的应用场景。它的特点就像上面看到的很简单,没有流量控制以及差错重传等特点,作为传输层的协议常常被拿来和tcp协议比较。所以广泛应用于qq聊天,视频,网络电视,迅雷等场景。缺点就是容易丢包。

- 抓取FTP包
https://blog.csdn.net/u011416247/article/details/80872735

(首先声明一下我也是一名小白,初学wireshark没多久,我也很愿意和大家一起讨论wireshark的具体应用。)

本实验使用的版本是wireshark2.4.7版,选择“捕获”-“选项”。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第18张图片

选择当前连的网,一般选择流量“起起伏伏”的那个接口。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第19张图片

做ftp实验的第一个问题就是去哪里找一个ftp服务器,我在百度上找遍了所有的ftp服务器都不能用,没办法,只能自己动手搭一个了。

1.在win7上先开启ftp服务:这里Internet信息服务底下的三个包括子项全部需要勾选。点击确定后,可能会要等一会儿,完成后就可以使用FTP服务了。

 玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第20张图片

 

2.打开   计算机--》管理--》   在这里我们可以看见刚刚添加的服务    (IIS)

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第21张图片

 

3.创建一个ftp站点

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第22张图片

 

4.点击添加FTP站点后,就是要继续的添加必要的站点信息,这里是:站点名称以及登录ftp后的站点指定目录(文件夹),点击下一步。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第23张图片

 

5.站点的地址就写自己的IP就好,端口21,是ftp控制信号的默认端口,(端口随意,尽量不要用已经被占用了的端口号)。SSL证书选无,有证书配置起来就很麻烦了。IP尽量配一个,用它推荐的那个吧,我的是192.168.1.4,不能自己随便设一个,这样会无法访问。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第24张图片

 

6.身份验证和授权勾选“基本“和”匿名“,匿名即采用用户名anonymous。允许所有用户访问。到这步一个ftp服务器就搭好了。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第25张图片

 

7.测试访问ftp服务器,在“计算机”里输入“ftp://192.168.1.4”由于有勾选匿名,访问的时候无需输入用户名密码,当然也可以在浏览器里面访问。然后可以测试读写。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第26张图片

8.要让别的机子访问ftp服务器,需要关闭防火墙,或者针对ftp相关端口设置允许通过的规则(默认为20,21)。

 

之后我在本地访问自己搭的ftp,出乎意料的是wireshark根本没有捕获到FTP数据包,这是为什么呢?查阅资料之后发现wireshark是捕获网卡的数据包,本地访问本地必然没有经过无线网卡。所以我找了一台本局域网上的机子访问该ftp,终于捕获到了ftp报文。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第27张图片

从上往下分析一个ftp访问的过程。下图是第一个包,表示ftp服务被访问。(220代表服务就绪)

下图表示用户登录的用户名和密码,使用匿名访问的。

下图表示匿名访问需要输入email,但是实际上刷新一下就进去了。

(331代表要求密码)

用IE代理访问ftp

用户登录了(230代表登录因特网)


CWD指令为更改访问目录,比如说点进去一个文件等。

CWD访问成功。(250代表文件行为完成)

访问文件的格式是ASCII(200代表成功)


FTP采用被动模式。

主动模式(PORT)

如下图所示,用户主机直接暴露在互联网中,用户连接FTP SERVER使用主动模式遵循以下一个过程:

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第28张图片

用户主机一个随机端口连接FTP SERVER的TCP21端口进行协商;

用户主机告诉FTP SERVER,我的XXXX端口已经打开,你可以放心大胆的连过来;

然后FTP SERVER就用TCP20端口连接用户主机的XXXX端口,数据传输开始。

被动模式(PASV)

当用户主机前端多了一道防火墙(客户机使用地址转换接入互联网),事情就变的复杂了,首先,主动模式是FTP SERVER连接客户机,防火墙肯定不干;即便乐意干客户机与服务器协商的XXXX端口也是随机端口,你让迷茫的防火墙情何以堪,这时就需要客户端软件使用被动模式主动连接防火墙,这么一来正合防火墙的胃口。

 

客户端使用被动模式遵循以下过程:

 玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第29张图片

首先用户使用随机端口连接FTP SERVER的TCP 21端口进行协商;

FTP SERVER告诉客户机:我的XXXX端口开放了,你连过来吧;

客户机使用一个随机端口连接FTPSERVER的XXXX端口传输数据。

(227代表进入被动模式)

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第30张图片

列举该目录下的文件

开始传输文件,比如下载到本地。(125代表打开数据连接,开始传输)

传输完成。(226代表结束数据连接)

 

FTP协议概述

默认端口数据连接用20号端口,控制连接用21号端口。FTP协议的底层协议是TCP协议。此外它还需要安装dns服务。

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第31张图片玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第32张图片玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第33张图片

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第34张图片

玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第35张图片玩转wireshark系列——抓取ARP、IP、UDP、FTP包【转】_第36张图片

FTP 命令:

1)访问控制命令:

用户名:USER

密码: PASS

账户: ACCT

改变工作目录: CWD

返回上层目录: CDUP

结构装备: SMNT

重新初始化: REIN

注销: QUIT

2)传输参数命令:

数据端口:PORT

被动: PASV

表示类型:TYPE

文件结构:STRU

F- 文件

R- 记录结构

P-页结构

传输模式:MODE

S-流

B-块

C-压缩

3)FTP服务命令:

获得:RETR

保存:STOR

唯一保存:STOU

追加:APPE

分配:ALLO

重新开始:REST

重命名开始:RNFR

重命名为:RNTO

放弃:ABOR

删除:DELE

删除目录:RMD

新建目录:MKD

打印工作目录:PWD

列表:LIST

名字列表:NLST

站点参数:SITE

系统:SYST

状态:STAT

帮助:HELP

空操作:NOOP

FTP响应:

FTP 响应由3 位数字组成(以3 个数字字符传递)后面跟着一些文本。3 位数字的每一位都有特定的意义。允许用户进程将复杂的响应简化。

第一位数字标识了响应是好,坏或者未完成。

1)响应的第一位数字可能有以下五个值:

1yz,预备状态

2yz,完成状态

3yz,中间状态

4yz,暂时拒绝状态

5yz,永久拒绝状态

2)下面为第二位数字的功能:

x0z 语法- 这种响应指出了语法错误。给出的命令不存在、没有被实现、或多余。

x1z 信息- 对于请求信息的响应,比如对状态或帮助的请求。

x2z 连接- 关于控制连接和数据连接的响应。

x3z 身份验证和帐户- 对登陆过程和帐户处理的响应。

x4z 目前还未使用。

x5z 文件系统- 请求传输时服务器文件系统的状态或其他文件系统动作状态。

3)第三位数字为第二位数字指定的状态提供了更详细的意义。

最小实现:

为了让FTP 能够不出错误的工作,服务器必需具备以下最小实现:

类型- ASCII 非打印

模式- 流模式

结构- 文件结构,记录结构

命令- USER, QUIT, PORT,TYPE, MODE, STRU,相应的默认值,RETR, STOR,NOOP.

传输参数的默认值为:

类型- ASCII 非打印

模式- 流模式

结构- 文件结构

所有主机必需接受上面这些标准的默认值。

你可能感兴趣的:(计算机网络)