四个 Linux 上的网络信息嗅探工具

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

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

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

精简和详细域名信息查询

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

 
  1. $ whois linux.com
  2. Domain Name: LINUX.COM
  3. Registry Domain ID: 4245540_DOMAIN_COM-VRSN
  4. Registrar WHOIS Server: whois.namecheap.com
  5. Registrar URL: http://www.namecheap.com
  6. Updated Date: 2018-01-10T12:26:50Z
  7. Creation Date: 1994-06-02T04:00:00Z
  8. Registry Expiry Date: 2018-06-01T04:00:00Z
  9. Registrar: NameCheap Inc.
  10. Registrar IANA ID: 1068
  11. Registrar Abuse Contact Email: abuse@namecheap.com
  12. Registrar Abuse Contact Phone: +1.6613102107
  13. Domain Status: ok https://icann.org/epp#ok
  14. Name Server: NS5.DNSMADEEASY.COM
  15. Name Server: NS6.DNSMADEEASY.COM
  16. Name Server: NS7.DNSMADEEASY.COM
  17. DNSSEC: unsigned
  18. [...]

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

 
  1. $ whois -h whois.namecheap.com linux.com

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

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

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

DNS 解析

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

 
  1. $ dig linux.com
  2. <<>> DiG 9.10.3-P4-Ubuntu <<>> linux.com
  3. ;; global options: +cmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<<- opcode: QUERY, status: NOERROR, id: 13694
  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
  7. ;; OPT PSEUDOSECTION:
  8. ; EDNS: version: 0, flags:; udp: 1440
  9. ;; QUESTION SECTION:
  10. ;linux.com. IN A
  11. ;; ANSWER SECTION:
  12. linux.com. 10800 IN A 151.101.129.5
  13. linux.com. 10800 IN A 151.101.65.5
  14. linux.com. 10800 IN A 151.101.1.5
  15. linux.com. 10800 IN A 151.101.193.5
  16. ;; Query time: 92 msec
  17. ;; SERVER: 127.0.1.1#53(127.0.1.1)
  18. ;; WHEN: Tue Jan 16 15:17:04 PST 2018
  19. ;; MSG SIZE rcvd: 102

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

 
  1. $ ps ax|grep dnsmasq
  2. 2842 ? S 0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground
  3. --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid
  4. --listen-address=127.0.1.1

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

 
  1. $ $ dig linux.com AAAA
  2. [...]
  3. ;; ANSWER SECTION:
  4. linux.com. 60 IN AAAA 64:ff9b::9765:105
  5. linux.com. 60 IN AAAA 64:ff9b::9765:4105
  6. linux.com. 60 IN AAAA 64:ff9b::9765:8105
  7. linux.com. 60 IN AAAA 64:ff9b::9765:c105
  8. [...]

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

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

 
  1. $ dig @69.195.152.204 linux.com
  2. [...]
  3. ;; Query time: 231 msec
  4. ;; SERVER: 69.195.152.204#53(69.195.152.204)

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

上游域名服务器

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

 
  1. $ cat /etc/resolv.conf
  2. # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
  3. # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
  4. nameserver 127.0.1.1

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

 
  1. $ nmcli dev show | grep DNS
  2. IP4.DNS[1]: 192.168.1.1

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

查找在您的网络中 IPv4 地址

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

 
  1. $ nmap -sn 192.168.1.0/24
  2. Starting Nmap 7.01 ( https://nmap.org ) at 2018-01-14 14:03 PST
  3. Nmap scan report for Mobile.Hotspot (192.168.1.1)
  4. Host is up (0.011s latency).
  5. Nmap scan report for studio (192.168.1.2)
  6. Host is up (0.000071s latency).
  7. Nmap scan report for nellybly (192.168.1.3)
  8. Host is up (0.015s latency)
  9. Nmap done: 256 IP addresses (2 hosts up) scanned in 2.23 seconds

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

 
  1. $ nmap -sV 192.168.1.1/24
  2. Starting Nmap 7.01 ( https://nmap.org ) at 2018-01-14 16:46 PST
  3. Nmap scan report for Mobile.Hotspot (192.168.1.1)
  4. Host is up (0.0071s latency).
  5. Not shown: 997 closed ports
  6. PORT STATE SERVICE VERSION
  7. 22/tcp filtered ssh
  8. 53/tcp open domain dnsmasq 2.55
  9. 80/tcp open http GoAhead WebServer 2.5.0
  10. Nmap scan report for studio (192.168.1.102)
  11. Host is up (0.000087s latency).
  12. Not shown: 998 closed ports
  13. PORT STATE SERVICE VERSION
  14. 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
  15. 631/tcp open ipp CUPS 2.1
  16. Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
  17. Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  18. Nmap done: 256 IP addresses (2 hosts up) scanned in 11.65 seconds

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

 
  1. $ nmap -sV 12.34.56.78
  2. Starting Nmap 7.01 ( https://nmap.org ) at 2018-01-14 17:05 PST
  3. Nmap scan report for 12.34.56.78
  4. Host is up (0.0061s latency).
  5. All 1000 scanned ports on 12.34.56.78 are closed

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

了解更多 Linux 的相关知识可以从 Linux 基金会和 edX(LCTT译注:edX 是麻省理工和哈佛大学于 2012 年 4 月联手创建的大规模开放在线课堂平台)中获取免费的 “介绍 Linux”课程。


原文发布时间为:2018-05-30

本文作者:Carla Schroder

本文来自云栖社区合作伙伴“Linux中国开源社区”,了解相关信息可以关注“Linux中国开源社区”。

相关文章
|
1月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
182 62
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
|
6天前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
45 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
2天前
|
JSON 运维 Ubuntu
Linux下如何使用Curl进行网络请求
希望这篇文章能帮助您在Linux下更好地使用Curl进行网络请求。如有疑问,请随时提问!
29 10
|
11天前
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
46 8
|
1月前
|
机器学习/深度学习 自然语言处理 计算机视觉
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024 替换骨干网络为 RMT,增强空间信息的感知能力
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024 替换骨干网络为 RMT,增强空间信息的感知能力
90 13
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024 替换骨干网络为 RMT,增强空间信息的感知能力
|
1月前
|
监控 安全 Ubuntu
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
161 36
|
1月前
|
计算机视觉
RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)
RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)
61 5
RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)
|
1月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
80 9
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
|
1月前
|
Linux API
Linux下载工具wget与curl
`wget` 是一个用于从网络下载文件的命令行工具,支持HTTP、HTTPS和FTP协议。它能自动处理下载中断,并支持递归下载网站内容。基本用法:`wget URL`,可指定文件名(`-O`)、保存目录(`-P`),还支持断点续传(`-c`)、限速(`--limit-rate`)和递归下载(`-r`)。相比之下,`curl` 更侧重于发送各种HTTP请求(如GET、POST),并支持文件上传、自定义请求头和cookie等功能。
62 10
|
1月前
|
存储 Ubuntu 前端开发
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
39 4