网络异常检测

概述:网络异常检测

[TOC]

1.Ping命令

1.1 连续对 IP 地址进行连通性检测

执行 ping 命令,直到被用户以 Ctrl+C 中断

1
ping IP -t

1.2 发送指定数据长度

此处为 2000 字节,缺省为 32 字节

1
ping IP -l 2000

1.3 执行特定次数

此处是 20

1
ping IP -n 20

1.4 解析主机名

1
ping -a IP

1.5 发送指定大小数据包到目标主机

默认情况下windows的ping发送数据包大小为32byte,最大能发送65500byte,一次发送过大数据包可能导致目标主机宕机

1
ping -l 65500 -t IP

1.6 记录路由

命令中分别为数字1和9,其中9表示最多记录9个路由

1
ping -n 1 -r 9 IP

2.显示数据包到达目的主机所经过路径

1
tracert www.baidu.com

3.Route命令

3.1 路由表相关内容

1
route print

3.2 将路由项目添加给路由表

设定一个到目的网络209.99.32.33,期间经过5个路由,需要首先经过本地网络上的一个路由IP为202.96.123.5,其子网掩码为255.255.255.224

1
route add 209.99.32.33 mask 255.255.255.224 202.96.123.5 metric 5

3.3 修改数据的传输路由

改变一条包含3个网段的路径

1
route add 209.99.32.33 mask 255.255.255.224 202.96.123.250 metric 3

4.查询ip地址所对应的域名

1
nslookup www.baidu.com

5.查看协议统计和当前使用 NBI 的 TCP/IP 连接

1
nbtstat

6.了解网络当前状态

1
netstat

6.1显示所有的有效连接信息列表

包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接

1
netstat –a

6.2以点分十进制的形式列出 IP 地址

不是象征性的主机名和网络名

1
netstat –n

6.3显示关于以太网的统计数据

它列出的项目包括传送的数据包的总字节数、错误数、删除数、数据包的数量和广播的数量。这些统计数据既有发送的数据包数量,也有接收的数据包数量。使用这个选项可以统计一些基本的网络流量

1
netstat -e

6.4关于路由表的信息

类似于 route print 命令时看到的信息。除了显示有效路由外,还显示当前有效的连接

1
netstat -r

其中Network Destination 表示目的网络,0.0.0.0 表示不明网络,这是设置默认网关后系统自动产生的;127.0.0.0 表示本机网络地址,用于测试;224.0.0.0 表示组播地址;255.255.255.255 表示限制广播地址;Netmask 表示网络掩码,Gateway 表示网关,Interface 表示接口地址,Metric 表示路由跳数。

6.5按照各个协议分别显示其统计数据

1
netstat -s

7.补充DNS

DNS(Domain Name System):域名解析系统,根据域名查出对应的 IP地址。

7.1 DNS解析过程

访问www.qq.com时,以下步骤中查找到对应的IP则直接返回反之继续下一步

(1)查看本地DNS缓存(本机)

(2)查看本地hosts文件是否有映射记录

(3)查看本地 DNS 服务器(通常是网络接入服务商(ISP),例如中国移动,中国电信)

(4)根域名服务器(.root)返回顶级域名服务器地址(.com)

(5)顶级域名服务器地址(.com)返回次级域名服务器(qq.com)

(6)次级域名服务器(qq.com)返回主机名IP

7.2缓存时间

缓存时间TTL(Time To Live),存活时间结束后DNS会删除对应的映射记录。

7.3 DNS记录类型

记录:主机域名解析规则

常见的 DNS 记录类型如下:

  • A:地址记录(Address),返回域名指向的IP地址。
  • NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。
  • MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
  • CNAME:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,详见下文。
  • PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名。

  • 事务 ID:DNS 报文的 ID 标识。对于请求报文和其对应的应答报文,该字段的值是相同的。通过它可以区分 DNS 应答报文是对哪个请求进行响应的。
  • 标志:DNS 报文中的标志字段。
  • 问题计数:DNS 查询请求的数目。
  • 回答资源记录数:DNS 响应的数目。
  • 权威名称服务器计数:权威名称服务器的数目。
  • 附加资源记录数:额外的记录数目(权威名称服务器对应 IP 地址的数目)。

标志字段里的内容比较多,每个字段的含义如下

  • QR(Response):查询请求/响应的标志信息。查询请求时,值为 0;响应时,值为 1。
  • Opcode:操作码。其中,0 表示标准查询;1 表示反向查询;2 表示服务器状态请求。
  • AA(Authoritative):授权应答,该字段在响应报文中有效。值为 1 时,表示名称服务器是权威服务器;值为 0 时,表示不是权威服务器。
  • TC(Truncated):表示是否被截断。值为 1 时,表示响应已超过 512 字节并已被截断,只返回前 512 个字节。
  • RD(Recursion Desired):期望递归。该字段能在一个查询中设置,并在响应中返回。该标志告诉名称服务器必须处理这个查询,这种方式被称为一个递归查询。如果该位为 0,且被请求的名称服务器没有一个授权回答,它将返回一个能解答该查询的其他名称服务器列表。这种方式被称为迭代查询。
  • RA(Recursion Available):可用递归。该字段只出现在响应报文中。当值为 1 时,表示服务器支持递归查询。
  • Z:保留字段,在所有的请求和应答报文中,它的值必须为 0。
  • rcode(Reply code):返回码字段,表示响应的差错状态。当值为 0 时,表示没有错误;当值为 1 时,表示报文格式错误(Format error),服务器不能理解请求的报文;当值为 2 时,表示域名服务器失败(Server failure),因为服务器的原因导致没办法处理这个请求;当值为 3 时,表示名字错误(Name Error),只有对授权域名解析服务器有意义,指出解析的域名不存在;当值为 4 时,表示查询类型不支持(Not Implemented),即域名服务器不支持查询类型;当值为 5 时,表示拒绝(Refused),一般是服务器由于设置的策略拒绝给出应答,如服务器不希望对某些请求者给出应答。

7.4 DNS 劫持 与 HTTP 劫持

DNS 完成了一次域名到 IP 的映射查询,当你在访问 www.baidu.com 时,能正确返回给你百度首页的 ip。但是当你想要访问 www.baidu.com 时,却返回给你 www.google.com 的ip,这就是我们常说的 DNS 劫持。

HTTP 劫持和DNS劫持区别:

  • DNS劫持是你想去机场的时候,把你给丢到火车站。
  • HTTP劫持是你去机场途中,有人给你塞小广告。

DNS劫持方法:

1.本机DNS劫持

攻击者通过某些手段使用户的计算机感染上木马病毒,或者恶意软件之后,恶意修改本地DNS配置,比如修改本地hosts文件,缓存等

2.路由DNS劫持

很多用户默认路由器的默认密码,攻击者可以侵入到路由管理员账号中,修改路由器的默认配置

3.攻击DNS服务器

直接攻击DNS服务器,例如对DNS服务器进行DDOS攻击,可以是DNS服务器宕机,出现异常请求,还可以利用某些手段感染dns服务器的缓存,使给用户返回来的是恶意的ip地址