标签: packet

iptables:NEW、ESTABLISHED 和 RELATED 数据包之间的区别

服务器上防火墙的一部分:

iptables -A INPUT -p tcp --dport 22 -m state NEW --state -m recent --set

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 100 --hitcount 10 -j DROP
Run Code Online (Sandbox Code Playgroud)

当我在线搜索时,我总是看到该规则中使用了 NEW,但我很难理解为什么没有使用 ESTABLISHED 和 RELATED。

像这样 :

iptables -A INPUT -p tcp --dport 22 -m state NEW,ESTABLISHED,RELATED --state -m recent --set

iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -m recent --update --seconds 100 --hitcount 10 -j DROP
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释什么时候新数据包完全变为 ESTABLISHED 和 RELATED …

firewall iptables packet

61
推荐指数
2
解决办法
14万
查看次数

你如何诊断数据包丢失?

我意识到这是非常主观的并且取决于许多变量,但我想知道大多数人在需要诊断给定系统上的数据包丢失时会经历哪些步骤?

packetloss packet best-practices

37
推荐指数
2
解决办法
11万
查看次数

为什么在 https 和 ssh 协议中设置了“不分段”标志?

我发现了很多信息表明情况确实如此,但是,我真的在寻找这背后的原因。为什么有必要?有必要吗?

packet-analyzer packet-capture packet ip-fragmentation

13
推荐指数
1
解决办法
2万
查看次数

过多的“TCP Dup ACK”和“TCP 快速重传”会导致网络出现问题。这是什么原因造成的?

当我通过 MetroEthernet 链接传输文件时,我在我们的网络上收到过多的 TCP Dup ACK 和 TCP 快速重传。这两个站点由一个 sonicwall 路由器连接,因此站点之间只有一跳。

是来自wireshark的屏幕截图,是整个捕获。在这个捕获中,客户端是 192.168.2.153,服务器是 192.168.1.101 这是从我的系统到服务器的跟踪路由(ping 时间通常稳定在 10 毫秒以下):

user@pc567:~$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:e0:b8:c8:0c:7e  
          inet addr:192.168.2.153  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:b8ff:fec8:c7e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:244994 errors:0 dropped:0 overruns:0 frame:0
          TX packets:149148 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:319571991 (319.5 MB)  TX bytes:12322180 (12.3 MB)
          Interrupt:16 

user@pc567:~$ traceroute -n 192.168.1.101
traceroute to 192.168.1.101 (192.168.1.101), 30 hops max, 60 byte packets …
Run Code Online (Sandbox Code Playgroud)

tcp wireshark packet

8
推荐指数
2
解决办法
8万
查看次数

iptables 通过十六进制字符串匹配丢弃数据包

我用 tcpdump 捕获了这个数据包,但我不确定如何使用 --hex-string 参数来匹配数据包。有人可以告诉我怎么做吗?

11:18:26.614537 IP (tos 0x0, ttl 17, id 19245, offset 0, flags [DF], proto UDP (17), length 37)
    x.x.187.207.1234 > x.x.152.202.6543: [no cksum] UDP, length 9
        0x0000:  f46d 0425 b202 000a b853 22cc 0800 4500  .m.%.....S"...E.
        0x0010:  0025 4b2d 4000 1111 0442 5ebe bbcf 6701  .%K-@....B^...g.
        0x0020:  98ca 697d 6989 0011 0000 ffff ffff 5630  ..i}i.........V0
        0x0030:  3230 3300 0000 0000 0000 0000            203.........
Run Code Online (Sandbox Code Playgroud)

iptables tcpdump packet

6
推荐指数
1
解决办法
1万
查看次数

出站数据包丢弃/超时 - 仅适用于 Azure

我在将数据包丢弃到美国佛罗里达州的第三方数据中心时遇到了问题。该问题仅发生在 Azure 虚拟机上,无论 VM 位于哪个数据中心。我已经从其他非 Azure 网络同时进行了相同的测试,并且没有丢包。Azure 虚拟机是“原版”/开箱即用的,没有加载软件或其他自定义/更改。

我已经和数据中心的网络管理员谈过了,他们看到的唯一数据包是那些没有超时的数据包;超时的数据包永远不会到达他们的防火墙,所以这听起来像是 Azure 端的东西(特别是因为数据包从多个 Azure 数据中心/区域持续丢弃/超时)。有谁知道我如何解决这个问题?

我正在运行的测试是对端口 80的连续 TCP ping(使用tcping.exe)(因为 ICMP 在 Azure 上被阻止):

tcping -t 216.155.111.149 80
tcping -t 216.155.111.151 80
tcping -t 216.155.111.146 80
Run Code Online (Sandbox Code Playgroud)

支持它不是第三方数据中心这一事实的其他证据是,我可以从我的家用计算机/工作计算机运行相同的连续 TCP ping 并且不丢弃任何数据包。我还设置了从 Azure VM 到非 Azure 数据中心的 VM 的隧道 VPN,并且没有丢弃任何数据包。数据包被丢弃的唯一时间是流量直接通过 Azure 传到 Internet/WAN 时。

我知道下一步将是一些跟踪路由测试,但由于 Azure 阻止 ICMP,我不得不使用nmap 来运行 TCP 跟踪路由;下面粘贴的是这些测试的屏幕截图。

nmap -sS -p 80 -Pn --traceroute 216.155.111.149
Run Code Online (Sandbox Code Playgroud)

测试1

测试2

测试3

测试4

timeout azure packet

6
推荐指数
1
解决办法
1万
查看次数

全双工模式下如何避免数据包冲突?

在全双工模式下工作时,可以同时发送和接收数据包。为什么数据包不冲突?

packet

5
推荐指数
1
解决办法
8857
查看次数

可以嗅探/分析 3G 网络吗?

只是想知道是否可以像公共 wifi 网络一样嗅探 3G 网络,例如通过 wireshark(我几乎可以肯定这是不可能的,因为加密,但我只是想确定一下?)

3g packet-analyzer packet-capture packet

5
推荐指数
1
解决办法
9533
查看次数

使用交换机模拟配置帧中继 - Packet Tracer

我在 Packet Tracer 中进行了以下设置:

在此处输入图片说明

我正在尝试使用帧中继交换机模拟(云)在 RTR-EDGE 路由器、RTR_ENG 路由器和 RTR_SAL 路由器之间配置帧中继。我使用了以下命令:

RTR_EDGE(config)#int s3/0
RTR_EDGE(config-if)#encap frame-relay
RTR_EDGE(config-if)#frame-relay map ip 172.20.1.109 101 broadcast
RTR_EDGE(config-if)#frame-relay map ip 172.20.1.113 102 broadcast
RTR_EDGE(config-if)#ip address 172.20.1.117 255.255.255.252
RTR_EDGE(config-if)#frame-relay lmi-type cisco
RTR_EDGE(config-if)#no shutdown

RTR_ENG(config)#int s0/0
RTR_ENG(config-if)#encap frame-relay
RTR_ENG(config-if)#frame-relay map ip 172.20.1.117 200 broadcast
RTR_EDGE(config-if)#ip address 172.20.1.109 255.255.255.252
RTR_ENG(config-if)#frame-relay lmi-type cisco
RTR_ENG(config-if)#no shutdown

RTR_SAL(config)#int s0/0
RTR_SAL(config-if)#encap frame-relay
RTR_SAL(config-if)#frame-relay map ip 172.20.1.117 200 broadcast
RTR_SAL(config-if)#ip address 172.20.1.113 255.255.255.252
RTR_SAL(config-if)#frame-relay lmi-type cisco
RTR_SAL(config-if)#no shutdown
Run Code Online (Sandbox Code Playgroud)

并且电路出现在每个路由器的地图中:

RTR_EDGE#show frame-relay map
Serial3/0 (up): ip …
Run Code Online (Sandbox Code Playgroud)

cisco packet

5
推荐指数
1
解决办法
6643
查看次数

Linux 网桥 (brctl) 正在丢弃数据包

我已经研究这个问题几天了,还没有找到答案。您的帮助将不胜感激!

我在物理服务器上运行了一些 VM(虚拟机)。服务器使用 Linux 网桥 (br100) 将这些 VM 连接在一起:

# brctl show
bridge name     bridge id               STP enabled     interfaces
br100           8000.984be15fe7e3       no              eth1.1729
                                                        vnet0
                                                        vnet1
Run Code Online (Sandbox Code Playgroud)

vnet0 和 vnet1 是 VM 的虚拟 NIC。

br100(物理服务器)分配给 IP 172.16.0.11。连接到 vnet1 的 VM 分配到 172.16.0.3,连接到 vnet0 的 VM 是 172.16.0.5。

到现在为止还挺好。172.16.0.3 可以 ping 172.16.0.5 没有问题。

现在我正在尝试将 172.16.0.3 设置为连接到子网 10.8.0.0/16 的路由器(如果这很重要,则为 openvpn 服务器)。

我的问题来了:10.8.0.0/16(在本例中为 10.8.0.6)中的机器可以 ping 172.16.0.3,但无法 ping 172.16.0.5。

(我认为)我已经排除了所有明显的原因:ip_forward 开启、iptables 刷新等。现在我将原因缩小到:br100 没有按照它应该的方式转发数据包!

当我从 10.8.0.6 ping 172.16.0.5 时,数据包被传送到物理服务器上的 vnet1(VM 172.16.0.3):

# tcpdump -leni vnet1 icmp
tcpdump: …
Run Code Online (Sandbox Code Playgroud)

linux bridge packet dropped

4
推荐指数
1
解决办法
2万
查看次数