路由是逻辑地址的寻址,他的功能是决定如何到达目标地址,并且维护地址信息,包括人工定义的静态和路由协议决定的动态两大类,动态又有距离矢量、链路状态、平衡混合三类。(即可在内网的出口,又可在两个或者多个网络中间(寻径,转发)
网络上数据的流通方向和限制,都是众多规则的影响,比如ApingB,C收到数据后发现跟自己ip不同丢弃数据包,这也是设置成规则的原因
普通路由(一般在局域网内,也可以连接公网,这样就变成了宽带路由)转发数据时只能改变目的mac(下一个接口的mac),宽带路由(需是数据通过的第一个路由)(也要是接入公网的路由)可以改变源ip,然后有个存储,回显时再通过腕带路由改回去,,而nat不光是能改变源,还能改变目的地址,正因为可以改变源地址改为将要介入的网络中地址,所以才能跨网段
路由又寻址,转发(根据路由表匹配转发)的功能,,,,而nat(通过修改源地址或者目的地址转发)具有转发功能,却没有寻径功能
NAT是内网与外网间的地址转换,他不负责寻址(地址是路由告诉他的),而只是按照规则对地址进行翻译,他解决代理上网、交叉地址空间、TCP流量均衡等问题。(只有转发功能,没有路由功能,一般在内网的出口,转发功能(策略)一般自定或者默认),这样不同网络便连起来了,所以个人认为nat某种意思上说是紧邻内网的一个通过自制规则(或者默认)的转发的一个网关,所以路由器是一个网关,而网关不一定是路由器
主要是隐藏内部ip,可以多对一映射ip,处理公网ip资源问题
Linux本身Netfilter模块就有nat,,,linux系统本身也有路由表,路由算法,等
Dhcp(局域网内的协议)是临时出租自动分配的ip,然后才是通过路由上网的,,,因为路由一般都是带有dhcp功能的路由器,才能拨号,集体上网
代理服务器上网,,是应用层的程序,nat是tcp ip协议栈的(内核中的)
Arp攻击 是由于arp宿主机向别的pc发数据包时,伪造了你的mac,,这样在别的pc上收到数据包以后,,,会更新自己pc上的arp表,用你的ip和伪造的mac覆盖掉以前正确的arp对应表(ip和mac对应),,这样,,当你去访问这个ip时,但它的mac地址却是不对的,,,数据发出去可能没响应,,,当然,在局域网内每个pc每时每刻都在发和收数据,也可能随时把不对的arp改过来,,但是arp程序也是时刻在发伪造的数据包(内嵌arp对应表),通过这样,可以限制你访问外网的次数,,,统计来说应该就是数据报的次数也就是流量,,,
如果限速越低的话,个人认为,它发arp假数据包的速度越快,,,因为这样的话,你和外网连接的几率越小
如有arp攻击,windows 用Tracert -d www.baidu.com,(为网关跟踪)第一条不是网关的ip可能就是arp程序的源头,,这样如果在大网络,,可以设相同的ip,,是对方ip冲突,这样就可以找到arp源
Netstat命令:
-r:列出Linux路由表(route table)
-n:不使用主机名称与服务名称,使用IP与Port Number
-a:列出所有联机状态,包括tcp/udp/unix socket
-t:列出TCP数据包的连接
-u:列出UDP数据包的连接
-l: 列出在listen(监听)的服务之网络状态
-p:列出PID与Program的文件名
-c:可以设置几秒后自动更新一次网络状态的显示
Host命令:
作用:查出某个主机名称的IP,利用/etc/resolv.conf文件里的DNS主机查询主机的IP地址
Nslookup命令:
作用:功能与host基本相同。
语法:nslookup [-query=[type]] [hostname|IP]
-query=type:查询的类型,除了传统的IP与主机的对应外,DNS还有很多信息。如mx,cname。
跟踪路由:
Traceroute www.baidu.com ,可以查到经过了多少网关,也就是跳数