Linux中常用的网络嗅探工具

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

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

精简和详细域名信息查询

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

$ whois linux.com
Domain Name: LINUX.COM
Registry Domain ID: 4245540_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2018-01-10T12:26:50Z
Creation Date: 1994-06-02T04:00:00Z
Registry Expiry Date: 2018-06-01T04:00:00Z
Registrar: NameCheap Inc.
Registrar IANA ID: 1068
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.6613102107
Domain Status: ok https://icann.org/epp#ok
Name Server: NS5.DNSMADEEASY.COM
Name Server: NS6.DNSMADEEASY.COM
Name Server: NS7.DNSMADEEASY.COM
DNSSEC: unsigned
[...]

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

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

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

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

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

DNS 解析

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

$ dig linux.com
> DiG 9.10.3-P4-Ubuntu > linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER#53(127.0.1.1)
;; WHEN: Tue Jan 16 15:17:04 PST 2018
;; MSG SIZE rcvd: 102

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

$ ps ax|grep dnsmasq
2842 ? S 0: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 记录:

$ $ dig linux.com AAAA
[...]
;; ANSWER SECTION:
linux.com. 60 IN AAAA 64:ff9b::9765:105
linux.com. 60 IN AAAA 64:ff9b::9765:4105
linux.com. 60 IN AAAA 64:ff9b::9765:8105
linux.com. 60 IN AAAA 64:ff9b::9765:c105
[...]

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

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

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

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

上游域名服务器

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

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

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

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

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

查找在您的网络中 IPv4 地址

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

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

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

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

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

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

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

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/13568.html

(0)
晴川运维晴川运维
上一篇 2025年9月22日
下一篇 2025年9月22日

相关推荐

  • Oracle数据库基本使用方法

    Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了…

    Linux系统 2025年6月23日
  • Linux下常用的剪贴板

    Linux下有哪些常用的剪贴板?本篇文章将为大家分享一下Linux下常用的剪贴板,有需要的小伙伴可以参考一下。 1.CopyQ 这种高级的剪贴板管理器适用于大多数平台上。它有编辑和…

    Linux系统 2025年6月10日
  • Swift中自定义操作符

    自定义操作符和操作符重载是一个非常强大的功能,可以让我们构建非常有趣的解决方案。它可以让我们降低呈现型函数调用的冗长,这可能会给我们清洁代码 前言 很少有Swift功能能和使用自定…

    Linux系统 2025年6月29日
  • CoreOS具体安装方法

    CoreOS是一个基于Linux 内核的轻量级操作系统,为了计算机集群的基础设施建设而生,专注于自动化,轻松部署,安全,可靠,规模化,CoreOS作为Docker生态圈中的重要一员…

    Linux系统 2025年10月27日
  • 使用ACL工具备份和恢复Linux的文件权限

    作为一个系统管理 ,我们的首要任务将是保护和未经授权的访问安全的数据。 我们都知道我们设置使用一些像CHMOD,CHOWN,chgrp命令 ……等有用的Linux命令然而,这些缺省…

    Linux系统 2025年6月13日
  • Linux下实现双网卡bonding

    Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为…

    Linux系统 2025年9月23日
  • 非常神器的Linux技术:BPF

    近两年BPF技术跃然成为了一项热门技术,在KubeCon 2020 Europe会议上有7个关于BPF的技术分享, 而在KubeCon 2020 China会议上也已有了3个关于B…

    Linux系统 2025年6月12日
  • Git创建仓库方法

    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。**本篇文章为大家讲解一下使用Git创建仓库方法 git init Git 使用 git init 命…

    Linux系统 2025年10月19日
  • Ansible:像系统管理员一样思考的自动化框架

    这些年来,我已经写了许多关于 DevOps 工具的文章,也培训了这方面的人员。尽管这些工具很棒,但很明显,大多数都是按照开发人员的思路设计出来的。这也没有什么问题,因为以编程的方式…

    Linux系统 2025年9月21日
  • Linux下部署VPS

    VPS技术,将一台服务器分割成多个虚拟专享服务器的优质服务。实现VPS的技术分为容器技术,和虚拟化技术 。在容器或虚拟机中,每个VPS都可选配独立公网IP地址、独立操作系统、实现不…

    Linux系统 2025年6月13日

发表回复

登录后才能评论