小编给大家分享一下Linux中常用的网络嗅探工具有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在计算机网络中,数据是暴露的,因为数据包传输是无法隐藏的,所以让我们来使用 whois、dig、nmcli和 nmap 这四个工具来嗅探网络吧。

请注意,不要在不属于自己的网络上运行 nmap ,因为这有可能会被其他人认为恶意攻击。

精简和详细域名信息查询

您可能已经注意到,之前我们用常用的老式 whois 命令查询域名信息,但现如今似乎没有提供同过去一样的详细程度。我们使用该命令查询 linux.com 的域名描述信息:

$whoislinux.comDomainName:LINUX.COMRegistryDomainID:4245540_DOMAIN_COM-VRSNRegistrarWHOISServer:whois.namecheap.comRegistrarURL:http://www.namecheap.comUpdatedDate:2018-01-10T12:26:50ZCreationDate:1994-06-02T04:00:00ZRegistryExpiryDate:2018-06-01T04:00:00ZRegistrar:NameCheapInc.RegistrarIANAID:1068RegistrarAbuseContactEmail:abuse@namecheap.comRegistrarAbuseContactPhone:+1.6613102107DomainStatus:okhttps://icann.org/epp#okNameServer:NS5.DNSMADEEASY.COMNameServer:NS6.DNSMADEEASY.COMNameServer:NS7.DNSMADEEASY.COMDNSSEC:unsigned[...]

有很多令人讨厌的法律声明。但在哪有联系信息呢?该网站位于 whois.namecheap.com[neiqian] 站点上(见上面输出的第三行):

$whois-hwhois.namecheap.comlinux.com

我就不复制出来了,因为这实在太长了,包含了注册人,管理员和技术人员的联系信息。怎么回事啊,露西尔?(LCTT 译注:《行尸走肉》中尼根的棒子)有一些注册库,比如 .com 和 .net 是精简注册库,保存了一部分有限的域名信息。为了获取完整信息请使用-h 或 –host 参数,该参数便会从域名的注册服务机构中获取。

大部分顶级域名是有详细的注册信息,如 .info。试着使用 [neiqian]whois blockchain.info 命令来查看。

想要摆脱这些烦人的法律声明?使用 -H 参数。

DNS 解析

使用 dig 命令比较从不同的域名服务器返回的查询结果,去除陈旧的信息。域名服务器记录缓存各地的解析信息,并且不同的域名服务器有不同的刷新间隔。以下是一个简单的用法:

$diglinux.com>DiG9.10.3-P4-Ubuntu>linux.com;;globaloptions:+cmd;;Gotanswer:;;->>HEADER#53(127.0.1.1);;WHEN:TueJan1615:17:04PST2018;;MSGSIZErcvd:102

注意下靠近末尾的这行信息:SERVER: 127.0.1.1#53(127.0.1.1),这是您默认的缓存解析器。当地址是本地时,就表明您的电脑上安装了 DNS 服务。在我看来这就是一个 Dnsmasq 工具(LCTT 译注:是一个小巧且方便地用于配置 DNS 和 DHCP 的工具),该工具被用作网络管理:

$psax|grepdnsmasq2842?S0:00/usr/sbin/dnsmasq--no-resolv--keep-in-foreground--no-hosts--bind-interfaces--pid-file=/var/run/NetworkManager/dnsmasq.pid--listen-address=127.0.1.1

dig命令默认是返回 A 记录,也就是域名。IPv6 则有 AAAA 记录:

$$diglinux.comAAAA[...];;ANSWERSECTION:linux.com.60INAAAA64:ff9b::9765:105linux.com.60INAAAA64:ff9b::9765:4105linux.com.60INAAAA64:ff9b::9765:8105linux.com.60INAAAA64:ff9b::9765:c105[...]

仔细检查下,发现 linux.com 有 IPv6 地址。很好!如果您的网络服务支持 IPv6 那么您就可以用 IPv6 连接。(令人难过的是,我的移动宽带则没提供 IPv6)

假设您能对您的域名做一些 DNS 改变,又或是您使用 dig 查询的结果有误。试着用一个公共 DNS,如 OpenNIC:

$dig@69.195.152.204linux.com[...];;Querytime:231msec;;SERVER:69.195.152.204#53(69.195.152.204)

dig 回应您正在的查询是来自 69.195.152.204。您可以查询各种服务并且比较结果。

上游域名服务器

我想知道我的上游域名服务器(LCTT 译注:此处指解析器)是谁。为了查询,我首先看下 /etc/resolv/conf 的配置信息:

$cat/etc/resolv.conf#Dynamicresolv.conf(5)fileforglibcresolver(3)generatedbyresolvconf(8)#DONOTEDITTHISFILEBYHAND--YOURCHANGESWILLBEOVERWRITTENnameserver127.0.1.1

好吧,不过我已经知道了。您的 Linux 发行版可能配置不同,您会看到您的上游服务器。接下来我们来试试网络管理器命令行工具 nmcli:

$nmclidevshow|grepDNSIP4.DNS[1]:192.168.1.1

很好,现在我们已经知道了,其实那是我的移动热点,我能确认。我能够登录到简易管理面板,来查询上游服务器。然而许多用户级互联网网关不会让您看到或改变这些设置,因此只能尝试其他的方法。

查找在您的网络中 IPv4 地址

您的网络上有哪些 IPv4 地址已启用并正在使用中?

$nmap-sn192.168.1.0/24StartingNmap7.01(https://nmap.org)at2018-01-1414:03PSTNmapscanreportforMobile.Hotspot(192.168.1.1)Hostisup(0.011slatency).Nmapscanreportforstudio(192.168.1.2)Hostisup(0.000071slatency).Nmapscanreportfornellybly(192.168.1.3)Hostisup(0.015slatency)Nmapdone:256IPaddresses(2hostsup)scannedin2.23seconds

每个人都想去扫描自己的局域网中开放的端口。下面的例子是寻找服务和他们的版本号:

$nmap-sV192.168.1.1/24StartingNmap7.01(https://nmap.org)at2018-01-1416:46PSTNmapscanreportforMobile.Hotspot(192.168.1.1)Hostisup(0.0071slatency).Notshown:997closedportsPORTSTATESERVICEVERSION22/tcpfilteredssh53/tcpopendomaindnsmasq2.5580/tcpopenhttpGoAheadWebServer2.5.0Nmapscanreportforstudio(192.168.1.102)Hostisup(0.000087slatency).Notshown:998closedportsPORTSTATESERVICEVERSION22/tcpopensshOpenSSH7.2p2Ubuntu4ubuntu2.2(UbuntuLinux;protocol2.0)631/tcpopenippCUPS2.1ServiceInfo:OS:Linux;CPE:cpe:/o:linux:linux_kernelServicedetectionperformed.Pleasereportanyincorrectresultsathttps://nmap.org/submit/.Nmapdone:256IPaddresses(2hostsup)scannedin11.65seconds

这些是有趣的结果。让我们尝试从不同的互联网连接进行相同的操作,以查看这些服务是否暴露于互联网中。如果您有智能手机,相当于您有第二个网络。您可以下载应用程序,还可以为您的 Linux 电脑提供热点。从热点控制面板获取广域网IP地址,然后重试:

$nmap-sV12.34.56.78StartingNmap7.01(https://nmap.org)at2018-01-1417:05PSTNmapscanreportfor12.34.56.78Hostisup(0.0061slatency).All1000scannedportson12.34.56.78areclosed

果然不出所料,结果和我想象的一样(LCTT 译注:这些服务和信息没有被暴露在公网上)。可以用手册来查询这些命令,以便了解更多有趣的嗅探技术。

以上是“Linux中常用的网络嗅探工具有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!