蚊章汇 - 嗅探
type: channel
link: https://linuxcn.bwsl.wang/tag/%E5%97%85%E6%8E%A2/
items: Sniffnet：任何人都可以使用的有趣的开源网络监控工具
items: Ubuntu 上 Wireshark 的安装与使用
items: 四个 Linux 上的网络信息嗅探工具
items: Linux 命令行下嗅探 HTTP 流量的工具：httpry

Sniffnet：任何人都可以使用的有趣的开源网络监控工具
type: item
date: 2023-06-15T00:38:51+08:00
description: 使用这个方便的应用查看你的网络连接。嗅探，嗅探，那是什么？ ?这是我在系统上看到的可疑网络连接吗？ ?❌你可能想知道我如何查看系统上的网络活动。 嗯，当然，一些 系统监控工具 应该有所帮助。但是，如果我想要更多详细信息怎么办？好吧，我遇到了一个不错的工具 Sniffnet。 它是一个用于实时监控网络活动的简洁的开源应用，也是专有的 GlassWire（如 Portmaster）的一个很好的替代品。那么，让我们深入挖掘吧！Sniffnet：概述 ⭐Sniffnet 是一个基于 Rust 的网络监控工具，可让你跟踪通过系统的所有互联网流量。 它提供了一些非常有用的功能，高级用户肯定会喜欢这些功能**。当你第一次启动 Sniffnet 时，你会看到一个菜单来选择网络适配器、过滤器和应用协议。完成选择后，单击“火箭”按钮开始。这是概览页的样子。它显示了所有当前的网络连接，以及一个方便的流量图，供你分析流量。? 你可以选择将数据显示为字节或单个数据包。要更深入地查看你的网络连接，你可以前往“ 检查 Inspect ”选项卡。在这里，你将看到一个包含所有重要信息的列表，例如 IP 地址、数据包数量、数据量、来源国家等等。你可以单击各个连接获得更详细的情况。如果你想为更具体的目的过滤结果怎么办？好吧，那么你可以使用“检查”选项卡下的过滤器选项根据你的需要过滤结果。你可以通过以下方式过滤列表： 应用、国家、域名等。这是它的样子：Sniffnet 还可以向你显示可以以文本格式导出的连接的详细报告。只需单击右下角带有页面/向右箭头的徽标即可开始。可定制性如何？好吧，Sniffnet 有一组不错的设置供你调整。第一个是“通知”选项卡，它允许你根据可以设置的各种阈值来设置通知的行为。然后是可以通过“ 样式 Style ”选项卡访问的主题。它提供四种选择，雪人之夜是我的最爱。最后，“ 语言 Language ”选项卡允许你设置你选择的界面语言。好了，就此结束。Sniffnet 是一个方便的工具，可以非常详细地了解系统上的网络活动。你可以使用它来监控你的网络。此外，与另一个网络监控工具 Nutty 相比，在我看来，Sniffnet 的使用和设置要直观得多。? 获取 SniffnetSniffnet 可跨多个平台使用，包括 Linux、Windows 和 macOS。 你可以前往官方网站获取你选择的安装包。Sniffnet如果愿意，你还可以在 GitHub 上仔细查看其源代码。via: https://news.itsfoss.com/sniffnet/作者：Sourav Rudra 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

Ubuntu 上 Wireshark 的安装与使用
type: item
date: 2020-03-12T19:55:00+08:00
description: 在本教程中，你将学习如何在 Ubuntu 和其它基于 Ubuntu 的发行版上安装最新的 Wireshark。同时你也将学习如何在没有 sudo 的情况下来运行 Wireshark，以及如何设置它来进行数据包嗅探。Wireshark 是一款自由开源的网络协议分析器，它在全球被广泛使用。通过使用 Wireshark，你可以实时捕获网络的传入和传出数据包，并将其用于网络故障排除、数据包分析、软件和通信协议开发等。它适用于所有主流的桌面操作系统，如 Windows、Linux、macOS、BSD 等。在本教程中，我将指导你在 Ubuntu 和其他基于 Ubuntu 的发行版上安装 Wireshark 。我还将介绍如何设置和配置 Wireshark 来捕获数据包。在基于 Ubuntu 的 Linux 发行版上安装 WiresharkWireshark 适用于所有主流 Linux 发行版。你应该查看官方安装说明。因为在本教程中，我将着重在仅基于 Ubuntu 的发行版上安装最新版本的 Wireshark 。Wireshark 可以在 Ubuntu 的 Universe 存储库中找到。你可以启用 universe 存储库，然后按如下方式安装：sudo add-apt-repository universe sudo apt install wireshark这种方法的一个小问题是，你可能并不总是得到最新版本的 Wireshark 。例如，在 Ubuntu 18.04 中，如果你使用 apt 命令检查 Wireshark 的可用版本，可用版本会显示是 2.6 。abhishek@nuc:~$ apt show wireshark Package: wireshark Version: 2.6.10-1~ubuntu18.04.0 Priority: optional Section: universe/net Origin: Ubuntu Maintainer: Balint Reczey <rbalint@ubuntu.com>然而， Wireshark 3.2 稳定版已经在几个月前发布了。当然，新版本拥有新的特性。那么在这种情况下，你应该怎么办呢？谢天谢地， Wireshark 开发者提供了一种官方 PPA 方式，你可以使用它在 Ubuntu 和其它基于 Ubuntu 的发行版上安装最新稳定版本的 Wireshark.我希望你熟悉 PPA。如果没有，请阅读我们关于 PPA 的优秀指南，以便完全理解它。打开终端并逐个使用以下命令：sudo add-apt-repository ppa:wireshark-dev/stable sudo apt update sudo apt install wireshark即使安装了旧版本的 Wireshark ，它也将更新为新版本。安装时，系统将询问你是否允许非超级用户捕获数据包。选择“Yes”允许，选择“No”限制非超级用户捕获数据包，最后完成安装。不使用 sudo 运行 Wireshark如果在上一次安装中选择了“No”，则以 root 用户身份运行以下命令：sudo dpkg-reconfigure wireshark-common然后按 tab 键并使用回车键选择“No”：由于你允许非超级用户捕获数据包，因此你必须将该用户添加到 wireshark 组。使用 usermod 命令将自己添加到 wireshark 组。sudo usermod -aG wireshark $(whoami)最后，重启你的 Ubuntu 系统对你的系统进行必要的修改。冷知识Wireshark 于 1998 年首次发布，最初被称为 Ethereal 。2006 年，由于商标问题，开发商不得不将其名称改为 Wireshark 。启动 Wireshark你可以从应用程序启动器或者命令行启动 Wireshark 应用。如果从命令行启动，只需要在你的控制台中输入 wireshark：wireshark要是从图形化界面启动，需要在搜索栏搜索 Wireshark 应用，并按回车键。现在，让我们来玩玩 Wireshark 吧。使用 Wireshark 捕获数据包当你启动 Wireshark 的时候，你会看到一个接口列表，你可以使用它来捕获这个接口接收和发送的数据包。你可以使用 Wireshark 监视许多类型的接口，例如，有线、外部设备等。根据你的偏好，你可以从下图中的标记区域选择在欢迎屏幕中显示特定类型的接口。例如，我只列出了有线网络接口。接下来，要开始捕获数据包，你必须选择接口（在我的示例中是 ens33 ），然后单击“Start capturing packets”图标，如下图所示。你还可以同时从多个接口捕获数据包。只需按住…

四个 Linux 上的网络信息嗅探工具
type: item
date: 2018-05-30T13:19:00+08:00
description: 在计算机网络中，数据是暴露的，因为数据包传输是无法隐藏的，所以让我们来使用 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: abuse@namecheap.com 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 站点上（见上面输出的第三行）：$ whois -h whois.namecheap.com linux.com 我就不复制出来了，因为这实在太长了，包含了注册人，管理员和技术人员的联系信息。怎么回事啊，露西尔？（LCTT 译注：《行尸走肉》中尼根的棒子）有一些注册库，比如 .com 和 .net 是精简注册库，保存了一部分有限的域名信息。为了获取完整信息请使用 -h 或 --host 参数，该参数便会从域名的 注册服务机构 中获取。大部分顶级域名是有详细的注册信息，如 .info。试着使用 whois blockchain.info 命令来查看。想要摆脱这些烦人的法律声明？使用 -H 参数。DNS 解析使用 dig 命令比较从不同的域名服务器返回的查询结果，去除陈旧的信息。域名服务器记录缓存各地的解析信息，并且不同的域名服务器有不同的刷新间隔。以下是一个简单的用法：$ dig linux.com <<>> DiG 9.10.3-P4-Ubuntu <<>> linux.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<<- opcode: QUERY, status: NOERROR, id: 13694 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1440 ;; QUESTION SECTION: ;linux.com. IN A ;; ANSWER SECTION: linux.com. 10800 IN A 151.101.129.5 linux.com. 10800 IN A 151.101.65.5 linux.com. 10800 IN A 151.101.1.5 linux.com. 10800 IN A 151.101.193.5 ;; Query time: 92 msec ;; SERVER: 127.0.1.1#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…

Linux 命令行下嗅探 HTTP 流量的工具：httpry
type: item
date: 2014-11-03T02:04:00+08:00
description: 假设由于某种原因，你需要嗅探HTTP站点的流量（如HTTP请求与响应）。举个例子，你可能在测试一个web服务器的实验性功能，或者你在为某个web应用或RESTful服务排错，又或者你正在为PAC(proxy auto config)排错或寻找某个站点下载的恶意软件。不论什么原因，在这些情况下，进行HTTP流量嗅探对于系统管理、开发者、甚至最终用户来说都是很有帮助的。数据包嗅工具tcpdump被广泛用于实时数据包的导出，但是你需要设置过滤规则来捕获HTTP流量，甚至它的原始输出通常不能方便的停在HTTP协议层。实时web服务器日志解析器如ngxtop可以提供可读的实时web流量跟踪痕迹，但这仅适用于可完全访问live web服务器日志的情况。要是有一个仅用于抓取HTTP流量的类似tcpdump的数据包嗅探工具就非常好了。事实上，httpry就是:HTTP包嗅探工具。httpry捕获HTTP数据包，并且将HTTP协议层的数据内容以可读形式列举出来。通过这篇指文章，让我们了解如何使用httpry工具嗅探HTTP流量。在Linux上安装httpry基于Debian系统（Ubuntu 或 LinuxMint），基础仓库中没有httpry安装包(译者注：本人ubuntu14.04,仓库中已有包，可直接安装)。所以我们需要通过源码安装:$ sudo apt-get install gcc make git libpcap0.8-dev $ git clone https://github.com/jbittel/httpry.git $ cd httpry $ make $ sudo make install 在Fedora，CentOS 或 RHEL系统，可以使用如下yum命令安装httpry。在CentOS/RHEL系统上，运行yum之前使其能够访问EPEL repo。$ sudo yum install httpry 如果你仍想通过基于RPM系统的源码来安装httpry的话，你可以通过这几个步骤实现：$ sudo yum install gcc make git libpcap-devel $ git clone https://github.com/jbittel/httpry.git $ cd httpry $ make $ sudo make install httpry的基本用法以下是httpry的基本用法$ sudo httpry -i <network-interface> httpry就会监听指定的网络接口，并且实时的显示捕获到的HTTP请求/相应。在大多数情况下，由于发送与接到的数据包过多导致刷屏很快，难以分析。这时候你肯定想将捕获到的数据包保存下来以便离线分析。可以使用'b'或'-o'选项保存数据包。'-b'选项将数据包以二进制文件的形式保存下来，这样可以使用httpry软件打开文件以浏览。另一方面，'-o'选项将数据以可读的字符文件形式保存下来。以二进制形式保存文件：$ sudo httpry -i eth0 -b output.dump 浏览所保存的HTTP数据包文件：$ httpry -r output.dump 注意，不需要根用户权限就可以使用'-r'选项读取数据文件。将httpry数据以字符文件保存：$ sudo httpry -i eth0 -o output.txt httpry 的高级应用如果你想监视指定的HTTP方法（如：GET，POST，PUT，HEAD，CONNECT等），使用'-m'选项：$ sudo httpry -i eth0 -m get,head 如果你下载了httpry的源码，你会发现源码下有一些Perl脚本，这些脚本用于分析httpry输出。脚本位于目录httpry/scripts/plugins。如果你想写一个定制的httpry输出分析器，则这些脚可以作为很好的例子。其中一些有如下的功能：hostnames: 显示唯一主机名列表。find\_proxies: 探测web代理。search\_terms: 查找及统计在搜索服务里面的搜索词。content\_analysis: 查找含有指定关键的URL。xml\_output: 将输出转换为XML形式。log\_summary: 生成日志汇总。db\_dump: 将日志文件数据保存数据库。在使用这些脚本之前，首先使用'-o'选项运行httpry。当获取到输出文件后，立即使用如下命令执行脚本：$ cd httpry/scripts $ perl parse_log.pl -d ./plugins <httpry-output-file> 你可能在使用插件的时候遇到警告。比如，如果你没有安装带有DBI接口的MySQL数据库，那么使用db…