概述:网络异常检测
[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地址