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,这很重要。按回车,它出现在另一边。

我刚刚做了什么?

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