如何从Linux网关监视和logging本地计算机的端口使用情况和目标尝试?

我有权访问作为内部networking的网关的Linux服务器。

有一个MagicJack Plus设备通过CAT5插入这个networking。

MagicJack通过DHCP从Linux服务器获取IP地址,并且确定了它发布的IP地址。

我修改了这个IP,但我无法发现MagicJack Plus设备上的任何开放端口。

我很好奇它是如何通信的,特别是它实际使用的端口。 我想监视它在24小时内使用的端口。 我会非常感兴趣的是,如果它试图与任何其他不需要的计算机(在本地networking上)进行通信。

最终,我想locking该设备,以便它只能访问它所需要的内容,仅此而已。

linux服务器只有一个web应用程序gui和commandline,如何监视和logging“该设备的IP”的networking活动,以发现它实际使用的端口,它试图访问什么,以及它使用多less带宽?

要获得设备生成的所有stream量,请执行以下操作:

  1. 将设备直接插入主机的端口(即插入专用的以太网适配器)
  2. 鉴于eth1是专门用于testing的主机networking适配器的名称(请参阅上文),请使用此命令将数据包日志写入文件:

     $ sudo tcpdump -s 65535 -i eth1 -w ~/device.pcap 
  3. 让该命令运行一段时间(如24小时)。
  4. 像平时一样使用设备,使其(可能)产生一些stream量。
  5. Ctrl-C中断tcpdump
  6. 使用任何你喜欢的工具,例如wireshark ,检查stream量转储文件~/device.pcap

编辑:

如果您的设备拒绝没有IP地址的工作,您可能需要为其设置一个DHCP服务器。 我build议为这些目的使用dnsmasq,像这样(在你的testing主机上运行):

 # ifconfig eth1 192.168.100.1/24 up # dnsmasq --bind-interfaces --conf-file= --interface eth1 --listen-address 192.168.122.1 --dhcp-range 192.168.100.2,192.168.100.254