<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>网络 on NOSAE</title>
    <link>https://nosae.top/categories/%E7%BD%91%E7%BB%9C/</link>
    <description>Recent content in 网络 on NOSAE</description>
    <image>
      <title>NOSAE</title>
      <url>https://nosae.top/images/papermod-cover.png</url>
      <link>https://nosae.top/images/papermod-cover.png</link>
    </image>
    <generator>Hugo -- 0.147.2</generator>
    <language>zh</language>
    <copyright>NOSAE</copyright>
    <lastBuildDate>Fri, 20 Feb 2026 17:21:02 +0800</lastBuildDate>
    <atom:link href="https://nosae.top/categories/%E7%BD%91%E7%BB%9C/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>tcpdump教程与示例</title>
      <link>https://nosae.top/posts/tcpdump%E6%95%99%E7%A8%8B%E4%B8%8E%E7%A4%BA%E4%BE%8B/</link>
      <pubDate>Fri, 20 Feb 2026 17:21:02 +0800</pubDate>
      <guid>https://nosae.top/posts/tcpdump%E6%95%99%E7%A8%8B%E4%B8%8E%E7%A4%BA%E4%BE%8B/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://cdn.jsdelivr.net/gh/NOS-AE/assets@main/img/ip-header-2021-1024x505.png&#34; data-fancybox=&#34;gallery&#34; data-caption=&#34;tcpip header&#34;&gt;
  &lt;img alt=&#34;tcpip header&#34; loading=&#34;lazy&#34; src=&#34;https://cdn.jsdelivr.net/gh/NOS-AE/assets@main/img/ip-header-2021-1024x505.png&#34;&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;tcpdump 是全球领先的网络分析工具——将强大功能与简洁性结合于一个命令行界面中。本指南将向您展示如何使用它。&lt;/p&gt;
&lt;p&gt;tcpdump 是一款功能强大的命令行数据包分析工具。它允许您实时捕获并检查网络流量。对于网络管理员、安全专业人员以及任何需要理解网络行为的人来说，这个工具都是无价的。&lt;/p&gt;
&lt;p&gt;在本教程中，我们将探讨 50 个使用 tcpdump 的实用示例。这些示例将涵盖广泛的使用场景，从基础流量捕获到高级过滤与分析。&lt;/p&gt;
&lt;h2 id=&#34;基本语法&#34;&gt;基本语法&lt;/h2&gt;
&lt;p&gt;tcpdump 的基本语法如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tcpdump &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;options&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;expression&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;options&lt;/code&gt;：修改 tcpdump 的行为，例如指定要捕获的接口或输出格式。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;expression&lt;/code&gt;：定义要捕获的流量类型。在这里您可以指定主机名、IP 地址、端口、协议以及其他条件。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;在接口上捕获流量&#34;&gt;在接口上捕获流量&lt;/h2&gt;
&lt;p&gt;要捕获某个特定接口上的所有流量，请使用 &lt;code&gt;-i&lt;/code&gt; 标志并在其后指定接口名称。例如，要捕获 eth0 接口上的流量：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tcpdump -i eth0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;要查看所有可用接口的列表，请使用以下命令：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tcpdump -D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;捕获发往来自特定主机的流量&#34;&gt;捕获发往/来自特定主机的流量&lt;/h2&gt;
&lt;p&gt;要捕获发往或来自某个特定主机的流量，请使用 host 关键字并在其后指定主机名或 IP 地址：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tcpdump host 192.168.1.100
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这将捕获与 IP 地址为 192.168.1.100 的主机之间的所有流量。&lt;/p&gt;
&lt;h2 id=&#34;在特定端口上捕获流量&#34;&gt;在特定端口上捕获流量&lt;/h2&gt;
&lt;p&gt;要捕获某个特定端口上的流量，请使用 port 关键字并在其后指定端口号：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tcpdump port &lt;span class=&#34;m&#34;&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这将捕获端口 80（HTTP）上的所有流量。&lt;/p&gt;
&lt;h2 id=&#34;组合过滤条件&#34;&gt;组合过滤条件&lt;/h2&gt;
&lt;p&gt;您可以使用 and、or 和 not 运算符来组合过滤条件。例如，要捕获与主机 192.168.1.100 在端口 80 上的所有往返流量，请使用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tcpdump host 192.168.1.100 and port &lt;span class=&#34;m&#34;&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;要捕获来自 192.168.1.100 且端口为 80 或 443 的流量，请使用：&lt;/p&gt;</description>
    </item>
    <item>
      <title>iptables入门</title>
      <link>https://nosae.top/posts/iptables%E5%85%A5%E9%97%A8/</link>
      <pubDate>Wed, 18 Feb 2026 18:20:14 +0800</pubDate>
      <guid>https://nosae.top/posts/iptables%E5%85%A5%E9%97%A8/</guid>
      <description>&lt;h2 id=&#34;基础概念&#34;&gt;基础概念&lt;/h2&gt;
&lt;p&gt;iptables 是 Linux 系统中一个防火墙管理工具，真正实现防火墙功能的是位于内核的 netfilter，我们配置了 iptables 规则后 Netfilter 通过这些规则来进行防火墙过滤等操作。防火墙工作在 OSI 中的第 4 层。它控制网络数据包的进出、转发和修改。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://cdn.jsdelivr.net/gh/NOS-AE/assets@main/img/1479220-20180926145432701-774427524.png&#34; data-fancybox=&#34;gallery&#34; data-caption=&#34;img&#34;&gt;
  &lt;img alt=&#34;img&#34; loading=&#34;lazy&#34; src=&#34;https://cdn.jsdelivr.net/gh/NOS-AE/assets@main/img/1479220-20180926145432701-774427524.png&#34;&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;从图中可以看到，内核在 IP 协议栈的关键位置注册了若干 &lt;strong&gt;hook 点&lt;/strong&gt;，每个 hook 都可以挂载规则链。数据包流经路径时，会依次经过这些 hook。&lt;/p&gt;
&lt;p&gt;要理解 iptables，最重要的是掌握其 &lt;strong&gt;“四表五链”&lt;/strong&gt; 的架构。&lt;/p&gt;
&lt;h3 id=&#34;五链&#34;&gt;五链&lt;/h3&gt;
&lt;p&gt;链是在某个 hook 点执行的一组规则，链决定了在数据包传输的哪个阶段触发规则。&lt;/p&gt;
&lt;p&gt;Linux 内核在 IP 协议栈关键位置定义了五个 hook，对应五个“内置链”：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PREROUTING&lt;/strong&gt;：数据包刚到达网卡，还未进行路由决策。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;INPUT&lt;/strong&gt;：数据包目的地是本机。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FORWARD&lt;/strong&gt;：数据包只是路过本机，转发到其他地方。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OUTPUT&lt;/strong&gt;：本机产生的数据包向外发送。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;POSTROUTING&lt;/strong&gt;：数据包即将离开网卡。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;四表&#34;&gt;四表&lt;/h3&gt;
&lt;p&gt;表决定了对数据包进行什么类型的操作。主要的表有四个：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Filter&lt;/strong&gt;：负责放行或拦截，这是最常用的表。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NAT&lt;/strong&gt;：负责地址转换。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mangle&lt;/strong&gt;：负责修改数据包，如修改 TTL、打标记。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Raw&lt;/strong&gt;：负责配置豁免，用于跳过连接跟踪。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;链与表的关系&#34;&gt;链与表的关系&lt;/h3&gt;
&lt;p&gt;并不是每一个“表”都存在于每一个“链”中。它们的关系就像是一张矩阵图，每个交叉点代表一个具体的处理时机。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;链 (Chains) \ 表 (Tables)&lt;/th&gt;
          &lt;th&gt;Raw&lt;/th&gt;
          &lt;th&gt;Mangle&lt;/th&gt;
          &lt;th&gt;Filter&lt;/th&gt;
          &lt;th&gt;NAT&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;PREROUTING&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;INPUT&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;FORWARD&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OUTPUT&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;POSTROUTING&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;当一个数据包经过你的机器时，它会按以下顺序穿越这些表和链：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
