TCPDump入门指南:网络流量嗅探与数据包分析

本文详细介绍了TCPDump的基本用法,包括如何选择网络接口、使用权限要求、捕获和分析网络流量,以及读取和写入pcap文件。适合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,发送icmp echo请求给Google,您可以看到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,这很重要。按回车,它出现在另一边。

我刚才做了什么?

嗯,我在端口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 设计