Articles of icmp

启用ICMPredirect时,TCP握手失败

所以看来,由于ICMPredirect,无法连接到VPN连接后面的服务器。 它立即回应一个TCP RST(在ssh_exchange_identification中读取:由对等体重置的连接) 我不完全确定如何发生,但这里是我的tcpdumps: 一旦启用了ICMPredirect: 08:28:31.457633 IP 10.21.0.100.55581 > 10.23.0.252.ssh: Flags [S], seq 4178119826, win 65535, options [mss 1368,nop,wscale 5,nop,nop,TS val 1170489744 ecr 0,sackOK,eol], length 0 08:28:31.457664 IP 10.23.0.252.ssh > 10.21.0.100.55581: Flags [S.], seq 2261371426, ack 4178119827, win 28960, options [mss 1460,sackOK,TS val 170122525 ecr 1170489744,nop,wscale 7], length 0 08:28:31.457781 IP 10.23.0.254 > 10.23.0.252: ICMP […]

linux ping不正确的源ip

我有一个Linux机器处理路由为我的networking。 这里有一些相关的configuration(公共IP地址掩码到192.0.0.x): IPconfiguration: [root@gw ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0d:b9:32:fa:d0 brd […]

在TCP连接尝试后,如何使Windows荣获ICMP连接拒绝消息

我们有一个工具,用于通过TCP远程pipe理服务器进程。 其中一个工具function是通过在指定的时间段内尝试连接到服务器,来检查服务器是否正在运行。 当我们使用这个工具来检查一个服务器没有运行的时候,我们注意到在Windows上时间的准确性是相当的差,比如尝试连接2s到一个死的服务器会导致工具运行7s,而不是预期的2s而在Linux上,计时精确到几毫秒。 这里的问题是,我们在启动脚本中使用该工具,将服务器声明为死的延迟增加了启动脚本的运行时间。 事实certificate,罪魁祸首似乎是Windows TCP / IP协议栈:一个失败的连接到Windows上的本地端口的尝试取决于机器需要2-5秒才能完成,而在Linux上几乎是瞬间的。 理论上,Windows堆栈对服务器返回的ICMP连接拒绝消息不重视/不感兴趣,并继续进行另一次连接尝试。 因此,我的问题包括两个部分:i)上述理论看起来是否合理?ii)如何告诉Windows遵守ICMP响应? – 劳里

ICMPredirect理论VS. 应用

我试图使用Cisco Packet Tracer(版本5.3.2)在实验室中观察ICMPredirect,但是我没有看到它们,这导致我相信我的实验室configuration不正确,或者我对ICMPredirect的理解是不正确的不正确,或者Packet Tracer不支持/使用ICMPredirect。 以下是我相信ICMPredirect的真实情况: 当满足所有这些条件时,路由器发送ICMPredirect: 数据包进入路由器的接口是数据包被路由出去的接口。 源IP地址的子网或networking位于路由包的下一跳IP地址的同一子网或networking上。 数据报不是源路由的。 路由器内核configuration为发送redirect。 我已经在Cisco Packet Tracer中设置了实验室,并显示在图像中,当从PC1 ping到PC3时,期望看到来自Router1的ICMPredirect。 我没有看到ICMPredirect,看起来Router1实际上是通过Router2路由所有的数据包。 我在路由器1(和路由器2)上启用了IP ICMPdebugging,并且在任一控制台中都没有看到任何ICMPredirect活动。 我也没有看到PC1路由表中PC3networking的路由,我认为这确认了ICMPredirect没有发生。 我在路由器1和2上只使用静态路由。我对ICMPredirect的理解是否不正确,或者实验室configuration有问题,或者Packet Tracer不支持/使用ICMPredirect?

如何判断主机是否桥接并充当路由器?

我想扫描我的DMZ,查找在子网之间桥接的主机,并启用路由。 因为我拥有从VMWare服务器到DMZ上的负载均衡器的一切,所以我不确定每个主机是否configuration正确。 可以使用什么IP,ICMP或SNMP(等)技巧来轮询主机并确定主机是否充当路由器? 我假设这个testing会假定我知道目标IP,但是在一个有很多子网的大型networking中,我将不得不testing许多不同的networking组合,看看我是否成功。 这里是一个例子(ping): 对于DMZ中的每个IP,arp为主机MAC 将ICMP回复消息发送到指向每个子网上的在线主机的主机 我认为有一个更好的方式来获取信息,即从ICMP / IP本身,但我不知道要寻找什么低级别的位。 如果可以在不知道主机可以连接到的子网的情况下确定“路由器”状态,我也会感兴趣。 这将有助于了解何时改善我们的安全状况。

数据库查找期间发生不可恢复的错误

简短版本: 为什么Test-Connection报告“在数据库查找过程中出现不可恢复的错误”,以便在不同子网上的脱机主机上运行? 我使用PowerShell通过Test-Connection cmdlet来ping远程主机: $Computer = "COMPUTER01" Test-Connection -ComputerName $Computer -Count 3 我收到以下错误信息: System.Net.NetworkInformation.PingException: Testing connection to computer 'COMPUTER01' failed: A non-recoverable error occurred during a database lookup —> System.ComponentModel.Win32Exception: A non-recoverable error occurred during a database lookup. 我的DNS服务器都是运行DNS服务的Windows AD控制器。 我能够使用nslookup将主机名parsing为IP地址: Name: computer01.domain.com Address: 192.168.2.153 MS网站上说: 这是一个不可恢复的错误。 这表明在数据库查找期间发生了某种不可恢复的错误。 这可能是因为无法find数据库文件(例如,兼容BSD的HOSTS,SERVICES或PROTOCOLS文件),或者服务器返回了一个严重错误的DNS请求。 https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx 问题:什么“数据库查找”可能失败? 故障排除点 1 我试图ping相同的主机,这也失败,但有一个更熟悉的消息: C:\> […]

看到250和68的远程MTU是否有效?

我看到属于“TELEFONICA MOVILES”的移动电话网路上的ICMP风暴。 我们会定期在几秒钟内获得500万个以上的数据,如下所示: 08:12:05.740781 IP(tos 0x0,ttl 112,id 40224,offset 0,flags [none],proto ICMP(1),length 56)200.76.88.6> ABCD:ICMP 200.39.21.96 unreachable – 需要frag(mtu 250),长度36 (“ABCD”是我的IP) 250甚至可能是合法的? 68? 这些ICMP在我们的这个问题上与更大的问题有关,但是我不能确定它们是一种症状,原因还是偶然的巧合。 pathMTU发现algorithm在这种情况下做什么? 服务器是FreeBSD 7。

OSI模型中的端口敲击和TCP / IP

我已经读到由于TCP / IP的优化技术,端口可能会被误报(II类错误)。 由客户端给出的正确的端口敲击可能被服务器读取为不正确的。 这是否可以通过仅使用UDP和/或ICMP端口来避免,如果可以的话,端口敲入守护进程会打开未提及的TCP端口? 还是UDP和ICMP容易受到类似的数据包混合?

如何正确处理tracert的结果,特别是超时之前的倒数第二跳

我正在解决无线互联网连接不断下降。 isp说无线电信号好,所以它必须由我的思科asa 5505。我不相信他们… 讨论假设如下: 远程站点公网IP为10.1.1.50,默认网关为10.1.1.1 当我从远程位置执行tracert到10.1.1.50时,tracert的倒数第二跳始终是10.1.1.1? 当连接断开时,倒数第二跳不是10.1.1.1,但10.1.1.1是可以ping通的,我可以对其执行tracert。 我认为这是isp的路由问题。 我的逻辑有效吗? 如果10.1.1.1是可达的,不应该是在超时之前在tracert上的第二跳到最后一跳?

当ICMP被阻塞时,ping https

我正在使用ICMP在其上禁用的Web服务器。 另一方面,他们回答一些https请求。 我基本上在寻找像pingfunction的http,以便检查另一台服务器是否可以连接到那台机器,并获得一些关于它的数据 我已经探索了以下选项: 编写一个分析两台机器之间连接的网页。 意思是一台机器会尝试浏览到该网页。 它会提供一些关于连接速度等信息。这是从表中取出,因为这个网页将需要基本上运行某种types的Web应用程序。 我没有时间去发展。 – 如果你知道现有的技术让我知道。 在Web服务器上托pipe一个文件并尝试下载。 将不会提供我想要的所有数据。 浏览器通常会混淆所有“有趣”的东西。 使用某种ping工具,比如www.coretechnologies.com/products/http-ping/,但由于某些原因,它无法处理合作局域网的redirect,因此我无法使用它。 (我发出一个请求,但答案是302个redirect回复的0字节)。 你知道别人吗? 请告知是否可以使解决scheme工作,或者我在第3​​节中提到的实用程序中使用错误,或者您有其他的想法。 更新: 所有的系统都是基于Windows的。