7

我想知道如何在wireshark中为ip-port制作一个显示过滤器。

所以,例如我想过滤 ip-port 10.0.0.1:80,所以它会找到所有与 10.0.0.1:80 之间的通信,但不会找到从 10.0.0.1:235 到端口 80 上的某个 ip 的通信。

4

3 回答 3

16

我想过滤掉任何支持端口的协议的 ip-port 对。tcp 或 udp。该 ip-por 对可以联系任何端口上的任何其他 ip。

(ip.src == XXX.XXX.XXX.XXX && (tcp.srcport == YYY || udp.srcport == YYY)) || (ip.dst == XXX.XXX.XXX.XXX && (tcp.dstport == YYY || udp.dstport == YYY)将匹配:

  • 所有来自 IPv4 地址 XXX.XXX.XXX.XXX 和 TCP 或 UDP 端口 YYY 的数据包;
  • 所有发往 IPv4 地址 XXX.XXX.XXX.XXX 和 TCP 或 UDP 端口 YYY 的数据包;

这听起来好像是你想要的。(如果这不是您想要的,您将不得不更加具体和准确地说明您想要什么。)

于 2013-05-30T21:04:50.107 回答
1

IP 协议没有定义端口之类的东西。IP 之上的两个协议具有端口 TCP 和 UDP。

如果您只想显示从一侧的端口 80 发送到另一侧的端口 80 的 TCP 连接的数据包,您可以使用此显示过滤器:

tcp.srcport==80 && tcp.dstport==80

类似地,您可以为 UDP 通信定义过滤器。您可以使用其他条件缩小过滤器,例如

ip.srcaddr==1.2.3.4

或者

ip.addr==55.66.77.88

您甚至可以使用 C 风格的运算符 && 和 || 以及用于构建复杂过滤器的括号。

(ip.addr==128.100.1.1 && tcp.port==80) || (ip.addr==10.1.2.1 && udp.port==68)

你真正想要过滤的是你的决定。

于 2013-05-29T14:35:06.197 回答
1

试试这个过滤器:

(ip.src==10.0.0.1 and tcp.srcport==80) or (ip.dst==10.0.0.1 and tcp.dstport==80)

由于您在 tcp/ip 数据包中有两个端口和两个 IP,因此您需要准确指定所需的源和目标套接字。

于 2013-05-30T15:41:38.683 回答