TCPDump入门指南:网络流量嗅探与分析的利器

本文详细介绍了TCPDump的基本使用方法,包括接口识别、权限配置、数据包捕获与分析,以及文件读写操作,帮助IT和安全专业人员掌握网络流量监控的核心技能。

入门TCPDump

大家好,我是John Strand,在这个视频中,我们将讨论如何开始使用TCPDump。

TCPDump是一个极好的工具,它是每个IT专业人员,尤其是信息安全专业人员都应该掌握的核心必备工具之一。原因是TCPDump使我们能够实际查看进出计算机系统的网络流量。如果我们位于交换机的span端口、镜像端口,或者位于广播所有内容的无线网络上,我们也可以看到该特定接口上的所有流量。但关键是,首先要确定你要查看哪个接口。

在TCPDump中,你可以运行tcpdump -D。这将列出TCPDump可以嗅探的所有可用接口。在99.99%的情况下,识别你要嗅探的接口通常是一个好习惯。在我的便捷Security Onion系统上,你可以看到有多个接口在运行。具体来说,我们将查看以太网接口,这个接口名为ens33。如果你熟悉一些旧版本的Linux,它们过去将所有接口称为eth0、eth1等。最近他们改变了这一点,我们可以在视频中稍后讨论。但我的Security Onion系统上的以太网接口名称是ens33。我稍后还会查看本地环回适配器。

让我们深入并实际开始一些嗅探。

我可以运行TCPDump,然后指定我的接口,在这种情况下,我提供ens33,你的以太网接口很可能不同,我还会添加几个额外的开关。

我将添加-XA。我添加X和A的原因是因为这两个开关组合在一起,将显示十六进制输出和该十六进制的ASCII代码。X代表十六进制,A代表ASCII。

为什么这很重要?让我展示给你看。

所以我们将运行TCPDump,指定接口为ens33(在我的计算机系统上,你的会不同),并添加-XA。一旦我运行这个,它会弹出并说你没有权限开始嗅探。原因是TCPDump需要超级用户权限。

在基于Linux或Unix的系统上,你需要是root用户。或者在Windows计算机系统上,如果你运行等效的WinDump,你需要以管理员身份运行,因为我们需要非常低级别的权限来嗅探计算机上的流量。

要绕过这个错误,如果你遇到它,你只需要在前面加上sudo。如果你看过xkcd漫画,“sudo make me a sandwich”。

这将切换用户,然后执行tcpdump命令。它会要求我输入密码,我输入密码,按回车,然后TCPDump应该运行……如果我输入密码正确的话,但我没有。

好了,现在它运行了。

有了这个,我现在想开始发送TCPDump可以看到的流量。所以我将开始ping 8.8.8.8,那是Google的DNS服务器。我一按回车,哇!你可以看到数据包被发送和从Google返回的响应。

有趣的是,我正在对Google进行标准ping,向Google发送icmp echo请求,你可以看到Google正在响应。有趣的是,如果你看发送的内容,你可以看到我发送给Google:请返回0 1 2 3 4 5 6 7,然后回复,在下面你可以看到请求,然后回复是0 1 2 3 4 5 6 7。好吧,所以不是那么有趣,我明白了,所以现在让我们稍微改变一下,好吗?

所以现在我们要做的是,我将指定一个不同的适配器,我将指定我的本地环回适配器。我将实际发送一些数据来回。所以每当我启动TCPDump时,我将启动Netcat,因为我老了,人们。我将运行Netcat监听端口2222。然后我将连接,我们将通过那个发送数据。

所以那里我有我的Netcat监听器,然后在另一边,我将做Netcat 127.0.0.1,然后我们将去2222,然后按回车。我输入HELLOOOOOOOOOOOO,很多O’s,这很重要。按回车,它出现在另一边。

我刚才做了什么?

嗯,我在端口2222上创建了一个小端口监听器,然后我连接并发送了数据HELLOOOOOOOOOOOO,如果我们看,你实际上可以看到那个未加密的数据包内部。你可以看到TCPDump能够实际看到那个原始数据。

那很酷。

现在有一些其他非常整洁的选项,你可以用TCPDump运行。

你可以用TCPDump做的一件事是,你可以实际读取文件的内容。所以在这种情况下,我正在读取一个pcap文件,但我们将花更多时间查看实际上有命令和控制后门数据的内容。所以我们将使用taidoor,我们将查看流量,没有交互,只是一个直接的pcap,它是一个非常小的pcap,我们将读取那个捕获文件,我们将看到十六进制解码和ASCII解码,具体来说,我们想查看所有进出主机的数据。

在这种情况下,受感染的主机是10.0.2.15,端口是80。所以每当我按回车时,它将从那个捕获文件读取数据,你可以看到HTTP请求被发送来回。在上面一点,你实际上能够看到编码的数据与后门被发送。

我们稍后将更多讨论编码和解码,但这有助于你开始使用TCPDump。

另一个快速说明,每当你运行TCPDump时,你可以运行TCPDump,然后你也可以将数据写入文件。所以我将指定我的以太网接口,但现在我将做-W,我将给它一个文件,ihateclowns2.pcap。

好了。现在它将做的是,嗯,如果我是root,我将点击sudo,按回车,现在它正在嗅探我们的接口,并将所有数据写入文件。这可以与其他专业人员共享,用于故障排除和离线分析。

TCPDump的另一个伟大特点是它非常快、非常轻量级,并且在捕获和写出大包捕获文件时非常高效。我希望你在本视频中玩得开心,并希望在不久的将来在其他视频中见到你。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计