我家中有一个小型局域网,其中有两台计算机连接到调制解调器路由器。我想捕获从路由器到特定服务器的数据包(我知道服务器的IP地址)。
路由器的制造商是D-Link。
我家中有一个小型局域网,其中有两台计算机连接到调制解调器路由器。我想捕获从路由器到特定服务器的数据包(我知道服务器的IP地址)。
路由器的制造商是D-Link。
Answers:
首先,您将不得不介入所有流量之间。您可以通过多种方式执行此操作,其中最简单的方法可能是确定您是真正需要来自两台计算机的流量还是仅需要来自一台计算机的流量。
如果两者都需要,请将计算机连接到集线器,然后连接到路由器。集线器会将所有网络流量发送到所有端口,而交换机只会将其发送到其预期的目的地。
如果您只有一台交换机,我想您可以将一台计算机作为网关安装,然后将第二台计算机指向该网关,但这很麻烦。
如果您需要所有流量,甚至需要路由器,也可以在路由器之后放置一个集线器,然后将计算机挂在其上。仅当您尝试捕获的流量不是来自用于捕获数据包的计算机时,这才可能起作用,否则,您将遇到一些更混乱的配置。
一旦所有流量都流过计算机的NIC,请抓取数据包嗅探器(我实际上更喜欢Windows Network Monitor,而不是Wireshark),然后开始抓取数据包。您可能需要过滤流量以仅显示有问题的服务器。Microsoft网络监视器中的筛选器非常用户友好:
如果在家用路由器上运行DD-WRT,则可以直接在路由器上运行tcpdump,并将输出带回本地系统以供以后处理。
一个例子:
ssh root@192.168.1.1 -c "tcpdump -v -w - -i eth2" > mypackets.pcap
完成后只需按Ctrl-C,然后将捕获文件加载到您喜欢的分析工具(如Wireshark)中。
tcpdump
那里?
使用企业级路由器或交换机,您将能够镜像端口并使用诸如Wireshark或netmon之类的数据包捕获程序来执行此操作。使用d-link路由器,实际上没有办法构建它。
一种解决方案是获得网络集线器(不是交换机,而是集线器)并将其放置在内部网络上。然后将集线器的上行链路插入路由器上的端口。现在,您已经创建了一种情况,由于使用集线器,所有进出网络的流量都将到达您计算机的所有NIC。如果执行此操作,则可以在混杂模式下运行wireshark或netmon并捕获所有这些流量。编写过滤器以隔离去往/来自特定IP的流量很简单。
除非数据包来自路由器本身(可能,但不太可能),否则数据包应该来自一台连接的计算机。在这种情况下,您可以使用packet-sniffer。SmartSniff非常易于使用,可以配置为仅捕获和/或显示到/来自特定IP,端口等的连接。