1.一种防止域名劫持的方法,其特征在于,包括:
抓取主机的网络数据包;
从所述网络数据包中提取域名与IP地址的对应关系信息;
基于提取的对应关系信息,判断域名系统DNS是否被劫持;
响应于所述DNS被劫持,将所述IP地址修改为已确认的IP地址;
放行修改IP地址后的网络数据包。
2.根据权利要求1所述的方法,其特征在于,所述网络数据包包括:DNS应答数据包和/或超文本传输协议HTTP请求数据包。
3.根据权利要求1所述的方法,其特征在于,所述已确认的IP地址根据域名与IP地址的已确认对应关系列表得到。
4.根据权利要求3所述的方法,其特征在于,所述基于提取的对应关系信息,判断域名系统DNS是否被劫持包括:
查询提取的对应关系信息是否存在于所述已确认对应关系列表中;
若不存在,则确定DNS被劫持。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于DNS未被劫持,放行所述网络数据包。
6.根据权利要求3所述的方法,其特征在于,所述已确认对应关系列表包括:
云端列表;和/或
基于以下一项或多项参数从所述云端列表中获取的本地列表:客户端的地理位置、网站流量排行、用户访问热度、用户访问时间、用户点击率和用户访问页面数。
7.根据权利要求6所述的方法,其特征在于,所述基于提取的对应关系信息,判断域名系统DNS是否被劫持包括:
查询提取的对应关系信息是否存在于所述本地列表中;
响应于提取的对应关系信息不存在于所述本地列表中,查询提取的对应关系信息是否存在于本地已确认DNS劫持的对应关系列表中;
响应于提取的对应关系信息存在于本地已确认DNS劫持的对应关系列表中,确定DNS被劫持。
8.根据权利要求7所述的方法,其特征在于,所述基于提取的对应关系信息,判断域名系统DNS是否被劫持还包括:
响应于提取的对应关系信息不存在于本地已确认DNS劫持的关系列表中,查询提取的对应关系信息是否存在于所述云端列表;
响应于提取的对应关系信息不存在于所述云端列表,确定所述DNS被劫持。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
响应于提取的对应关系信息存在于所述云端列表,则确定所述DNS未被劫持;
将所述对应关系信息存储至本地列表。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若查询提取的对应关系信息是否存在于所述云端列表的时间超过预设时间,则放行所述网络数据包。
11.根据权利要求10所述的方法,其特征在于,所述基于提取的对应关系信息,判断域名系统DNS是否被劫持还包括:
若在超过所述预设时间之后,查询到所述对应关系信息不存在于所述云端列表中,则确定所述DNS被劫持,并且将所述对应关系信息存储至本地已确认DNS劫持的关系列表中。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若在超过所述预设时间之后,查询到所述对应关系信息存在于所述云端列表中,则将所述对应关系信息存储至本地列表。
13.一种防止域名劫持的装置,其特征在于,包括:
抓取单元,用于抓取主机的网络数据包;
提取单元,用于从所述网络数据包中,提取域名与IP地址的对应关系信息;
判断单元,用于基于提取的对应关系信息,判断域名系统DNS是否被劫持;
修改单元,用于响应于所述DNS被劫持,将所述IP地址修改为已确认的IP地址;
第一放行单元,放行修改IP地址后的网络数据包。
14.根据权利要求13所述的装置,其特征在于,所述网络数据包包括:DNS应答数据包和/或超文本传输协议HTTP请求数据包。
15.根据权利要求13所述的装置,其特征在于,所述修改单元中的已确认的IP地址根据域名与IP地址的已确认对应关系列表得到。
16.根据权利要求15所述的装置,其特征在于,所述判断单元包括:
查询子单元,用于查询提取的对应关系信息是否存在于所述已确认对应关系列表中;
确定子单元,用于若所述对应关系信息不存在于所述已确认对应关系列表中,则确定DNS被劫持。
17.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二放行单元,用于响应于DNS未被劫持,放行所述网络数据包。
18.根据权利要求15所述的装置,其特征在于,所述已确认对应关系列表包括:
云端列表;和/或
基于以下一项或多项参数从所述云端列表中获取的本地列表:客户端的地理位置、网站流量排行、用户访问热度、用户访问时间、用户点击率和用户访问页面数。
19.根据权利要求18所述的装置,其特征在于,判断单元包括:
本地查询子单元,用于查询提取的对应关系信息是否存在于所述本地列表中;
劫持查询子单元,用于响应于提取的对应关系信息不存在于所述本地列表中,查询提取的对应关系信息是否存在于本地已确认DNS劫持的关系列表中;
第一劫持确定子单元,用于响应于提取的对应关系信息存在于本地已确认DNS劫持的关系列表中,确定DNS被劫持。
20.根据权利要求19所述的装置,其特征在于,所述判断单元还包括:
云端查询子单元,用于响应于提取的对应关系信息不存在于本地已确认DNS劫持的关系列表中,查询提取的对应关系信息是否存在于所述云端列表;
第二劫持确定子单元,用于响应于提取的对应关系信息不存在于所述云端列表,确定所述DNS被劫持。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
未劫持确定子单元,用于响应于提取的对应关系信息存在于所述云端列表,则确定所述DNS未被劫持;
存储子单元,用于将所述对应关系信息存储至本地列表。
22.根据权利要求20所述的装置,其特征在于,所述装置还包括:
第三放行单元,用于若查询提取的对应关系信息是否存在于所述云端列表的时间超过预设时间,则放行所述网络数据包。
23.根据权利要求22所述的装置,其特征在于,所述基于提取的对应关系信息,判断域名系统DNS是否被劫持还包括:
第三劫持确定子单元,用于若在超过所述预设时间之后,查询到所述对应关系信息不存在于所述云端列表中,则确定所述DNS被劫持;以及
第一存储子单元,用于将所述对应关系信息存储至本地已确认DNS劫持的关系列表中。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第二存储子单元,用于若在超过所述预设时间之后,查询到所述对应关系信息存在于所述云端列表中,则将所述对应关系信息存储至本地列表。