ARP的应用,TCP与UDP,数据包转发流程(2017年11月12日 23:12:46)

 

 

95%以上网络连接使用的是以太网协议。

主机之间的通讯,更加关注的是通信目的地的IP地址。

任何应用程序在发送数据的时候要经二层封装。

一、ARP表:地址解析协议表。

静态配置ARP表项的情况:当受到ARP攻击之后,可以静态配置关于网关、关于服务器的ARP表项。

(接下里就要找到攻击源,把攻击源隔离)。

通过ARP协议自动学习。跟邻居自动学习ARP信息。

只会在基于IPV4以太网环境中使用。

(解析IPV6到MA地址映射的协议是NDP协议中的NS与NA的组合报文。)

Ethernet2 | ARP | FCS

当不知道地址是多少的时候,就用全0表示(FFFFFF.FFFFFF.FFFFFF.FFFFFF)

 show arp

display arp

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

ARP应答是谁后到谁生效

假如:PCA---PCC---PCB (PCA与PCB通信的时候插入了一个伪装者PCB)

当A发送ARP请求来解析B的MAC的时候,B与C都做出回应,这时候如果C回应得慢一些,那么A收到C的应答之后,会把C的应答覆盖B的。所以PCA会把PCB的IP映射到PCC的MAC。

与此同时,PCB在给PCA发送ARP请求的时候,PCC也会给PCB做一个ARP回应,PCC的应答者IP会设置为PCA的IP,MAC会使用PCC自己的MAC。但是会后到PCB,所以PCB会认为PCA的IP映射到PCC的MAC。

这时候A跟B通信,他们的目的MAC都设置的是C的MAC。

交换机不关心IP地址,关心的是MAC地址。所以交换机在收到目的MAC为C的报文,都会把包发送给C。C又会分别把A到B或者B到A的流量分别做转发。AB之间隔了C,AB只要通信能成功,那么就不会发现有C,这时候只要C开一个抓包软件(例如:wireshark、sinnf),就能抓去AB直接所有的通信流量。

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

代理ARP (Proxy ARP),能使没有指网关的PC成功访问互联网。但是访问效率低。

使用情况:1、请求者IP与被请求者IP属于不同的IP子网段。2、对于被请求这而言,路由器必须拥有去往被请求者的路由条目(被请求者可达)。3、接收ARP请求的代理ARP功能要开启。

代价太大,不建议使用。。。。

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

DHCP:动态主机配置协议。能给主机自动分配地址。

 冲突检测,会先ping两次。

(Windows防火墙有一个禁ping功能)

Client ARP请求   无故ARP(免费ARP)。请求的是自己的IP所对应的MAC地址。最后一个字段的值就是我所拿到的IP地址。

没有人在用这个IP,那就收不到应答。如果收到,那说明这个IP在用,就需要跟服务器重新获取。

能更新IP到MAC的映射。

P2P终结者。通过发送ARP应答来进行攻击。PC会上不了网,当发生此类攻击的时候:

1、第一时间看ARP映射,看关于网关的MAC映射,如果不对,就必须把网关的IP与MAC做静态绑定(静态绑定的优先级高于动态绑定);保证网关的条目是正确的。

2、根据攻击者的MAC或IP找到对应的主机,隔离起来。

3、比较终极的方法就是在交换机上启用 Dynamic ARP Inspection ,通过这个技术我们能动态监听,会立即报日志,会立即把攻击者隔离起来。------------DAI

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

 

 

 

现在常用的端口地址都是16bit,取值范围是0-65535。

1-1023:知名端口号。对应的是知名应用程序。如HTTP\TCP 80    FTP 20 21  SMTP 25  POP3 110

1024-65535:非知名端口号。对应的是非知名应用程序。如QQ... 随机对应的关系。

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

都能提供数据切片的作用,都能提供源目端口的协议标识作用。

TCP:一般称为面向连接协议。  能保证传输的可靠性,保证流量能到,到大的流量不会出现乱序,不会出现篡改,不会丢包,不会出现问题。

流控功能:Windows 窗口字段 Byte  每次一发送,窗口大小都会变化,所以叫滑动窗口。65535字节;第一次发送数据为0字节,接下来都是2的N-1次方

防止传输乱序:可靠传输:1、通过窗口。  2、通过一个叫做序列号的字段来实现(Sequence)。(比如一个数据包分成4段进行传输,接收者接收并不一定会按照顺序接收,所以必须要靠TCP报头中携带的序列号字段来分辨)。

传输是否出现丢包:确认号字段(Acknowledgement)ACK,字段+1.

重传能力:TCP内部所实现的机制,

完整性检查:通过checksummary校验和 。

 

UDP:一般称无连接协议。 尽力而为的传输。只提供协议的标识与源目端口。不能提供任何的传输保障机制。例如:QQ......

 

区别是:TCP的报头很大,长度在20-60字节;UDP只有8个字节。带宽用来传输我们的数据载荷,报头越小,载荷对于带宽的利用率就会越高。UDP抢占带宽很强。

TCP传输机制非常复杂,TCP的带宽利用率非常低。

TCP基于三次握手来创建会话,这之中可以发起DOS拒绝服务攻击。来浪费资源,没法给正常服务提供资源。(TCP SYN Flooding Attack: TCP同步泛洪攻击);UDP不需要建立三次握手

TCP是一个点到点协议,只支持单播报文的发送,不支持组播与广播。

 TCP最大的好处:重传

三次握手:客户端Client给服务器Server发送一个 SYN(同步)报文(SYN为1);服务器会返还一个SYN+ACK(同步+确认)(SYN&ACK都为1)报文;PC收到这个报文之后会,最终返还一个ACK为1的报文做确认。

 

 

VOIP:Layer2 | IPV4 | UDP | RTP | VOIP | FCS    语音视频类流量传输模式,由于RTP拥有序列号字段,所以能保证传输的顺序性。RTP:实时传输协议。

TCP、UDP公用65535端口。

 

 

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

数据转发过程

EG:访问www.google.com的过程:

1、浏览器输入www.google.com

2、基于HTTP的数据封装:Layer2 | ipv4 | tcp | HTTP | FCS。

  当在访问一下服务器的知名的应用的时候,目的端口为知名端口,源端口是随机端口。

3、由于google服务器的地址未知 :所以PC发送基于UDP封装的DNS请求:

   Layer2 | IPV4 | UDP | DNS |FCS   

  询问查找A记录,DNA的A记录就是域名的映射。帧头的SMAC为PC,MMAC为网关(查找ARP表)。

4、三次握手建立TCP请求,发送HTTP报文,经过边界路由器进行PAT进行地址转换,回向则查找NAT表,返回HTTP报文。

5、浏览器显示www.google.com

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

三层地址能保证源目

二层地址每跨越一层就会变化。

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

 

Urgent Pointer:紧急指针,当多个TCP会话都在打开的时候,需要优先处理的字段,紧急指针置位,告诉服务器这股连接更重要一些。

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

UDP:

UDP不能提供可靠传输能力,但是应用程序本身可以提供。

源端口,目的端口

长度,校验核

例如Voip语音流量的封装:

Layer2 | IPV4 | UDP | rtp | Voip | FCS   -------- 实时传输协议  。  UDP没有提供序列号字段,但是RTP有。所以能保证传输的顺序性。-----------语音视频等流量的传输模式

TCP、UDP共用65535端口。

DNS 既能基于TCP的53,又能基于UDP的53

LDP既使用TCP的711,又使用UDP的711

除了个别特例,TCP使用的端口UDP不会再使用。这样就不会端口冲突。

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

 

转载于:https://www.cnblogs.com/yeison/p/7823558.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值