Articles of tcpip

如何在类似unix的盒子上find我的IP地址?

如何find我的IP地址在unix盒子上? 我试过了 ifconfig 但在系统上不存在。

好的(免费/开源)工具分析TCP捕获文件?

我广泛使用wireshark和microsoftnetworking监视器,但是我很好奇是否有其他好的(希望是免费/开源的)软件包来分析TCP / IPstream量? 我对networking问题的法医使用和分析特别感兴趣。

Winpcap是否能够通过千兆网卡捕获所有数据包而不丢失任何数据包?

我想使用Winpcap捕获所有通过服务器的千兆网卡的networking数据包。 假设我能够使用高达100%的networking连接,最高networking速度是1000Mbps。 如果我们排除TCP / IP头,最大的TCP数据速率应该大致为940Mbps。 假设我使用TCP目标端口6000,以940Mbps的速率通过网卡发送1GB文件。我使用Winpcap捕获所有通过网卡的networking数据包,然后将其转储到pcap文件。 如果我使用Wireshark来分析pcap文件,然后检查发送到TCP端口6000的所有networking数据包的数据包大小的总和,我能从pcap文件中得到正好1GB的数据吗? 谢谢。

如何debuggingWAN TCP / IP吞吐量低于预期的原因?

我想弄清楚为什么我控制的两台主机之间的TCP / IP吞吐量远低于预期。 主机A:波士顿地铁Comcast(Residential)提供的互联网连接 – 可以持续实现从各种知名网站下载100Mbps(例如下载Google Chrome) 主持人B:Cogent提供的互联网连接; 可以始终如一地在各个站点达到近100Mbps。 testing连接:主机A通过非标准端口(22442)上的rsync / ssh从B下载大文件(即rsync –progress -e 'ssh -p 22442' … – 吞吐量仅为2.5Mbps (292564 Bps) 当尝试从B下载相同的数据时,其他客户端(例如临时EC2实例)的吞吐量可能会达到近30倍 我已经设法捕获与Tcptrace之间的连接(下面附加)的统计数据,但我不知道是否有什么似乎错了。 我想我的目的是需要调整一下,但是我也对Comcast塑造stream量有所怀疑 – 所以在我开始讨论之前,我想我会寻求build议。 我有什么好的下一步尝试? 提前致谢。 tcptrace -r -l -o1 dump.out 1 arg remaining, starting with 'dump.out' Ostermann's tcptrace — version 6.6.7 — Thu Nov 4, 2004 5763 packets seen, 5763 TCP […]

是否ping到127.0.0.1打网卡? 哪个RFC /标准说明?

我最近做了一个考试,其中一个问题表明,你可以在计算机上运行ping 127.0.0.1来validation它的网卡是否工作。 我已经阅读了多个来源,这实际上只能保证networking软件安装正确。 例如,“Network Fundamentals,CCNA Exploration Companion Guide”一书指出: “来自127.0.0.1的响应表示主机上正确安装了IP操作系统(..)但是,此响应并不表示地址,掩码或网关已正确configuration。 维基百科也说“使用回送接口绕过本地networking接口硬件”。 ,但没有提供任何资源。 问题是,我需要一个官方的消息来源说pinging 127.0.0.1没有击中网卡。 RFC 5735说: 127.0.0.0/8 – 该块被分配用作互联网主机回送地址。 由更高级别的协议发送到该块内任何地址的数据报循环回到主机内部。 这通常只使用127.0.0.1/32进行环回。 如[RFC1122]第3.2.1.3节所述,整个127.0.0.0/8块中的地址不会合法地出现在任何地方的任何networking上。 目前还不清楚什么时候出现“回路”。 任何帮助? 谢谢。

什么可以阻止连接到特定交换机的计算机的DHCP?

我最近用千兆pipe理交换机replace了我们办公室里的一些10/100交换机,我发现连接到其中一台交换机的计算机没有从服务器获得DHCP租约。 这不是什么大问题,因为办公室几乎所有的东西都使用静态IP,但是我确实有办公室的一些区域,有一个无线AP连接到这个交换机(先通过另一个pipe理交换机),连接到这些AP的设备没有获得DHCP租约。 我想我已经确定它是这个开关,因为我testing了以下内容: 服务器切换开关的客户端 从DHCP Server — suspect switch in server room — other managed switch 1 — laptop with DHCP enabled更换DHCP Server — suspect switch in server room — other managed switch 1 — laptop with DHCP enabled (无租用) 到DHCP Server — other switch in server room — other managed switch 1 — laptop […]

在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响应? – 劳里

Windows Server 2008中的TCP / IP协议栈与Windows 7旗舰版

有谁知道有关Windows Server 2008(标准版)中的TCP / IP堆栈与Windows 7旗舰版之间的差异的细节 ? 这个问题仅适用于TCP / IP。 我知道Windows 7和Server 2008具有统一的驱动程序模型,因此TCP / IP堆栈的驱动程序部分在理论上是相同的。 在完全相同的硬件上,支持高负载的TCP / IP应用程序,Server 2008 TCP / IP协议栈将提供超越Windows 7旗舰版盒子的优势吗? 我已经听到了许多有关服务器堆栈优点的暗示,但从来没有见过类似的东西:服务器支持XYZ兆字节磁通电容缓冲器,而Windows 7只支持2 mb磁通电容缓冲器。 链接到技术文档或网站概述了差异将是真棒。

Windows 7中的最大TCP客户端数量?

我正在Windows 7企业版中运行我的服务器的客户端负载testing软件。 客户端框能够获得多达16346个TCP连接,然后开始给出错误“由于系统缺less足够的缓冲空间或者因为队列已满而无法执行套接字上的操作”任何更多的连接。 据我所知,Windows 7只是有限的TCP连接的内存,你有一个临时端口通常的限制。 16346号码听起来可疑接近16635,提示一些有趣的限制。 有任何想法吗? 编辑:我想通了。 临时端口需要调整。 只有16384可用。 根据以下说明修正: http : //www.speedguide.net/read_articles.php?id=2574

还有什么“netsh int ip reset”呢?

根据这篇知识库文章,当您运行“netsh int ip reset”命令时,所做的只是重置两个registry项的内容: SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ SYSTEM\CurrentControlSet\Services\DHCP\Parameters\ 但在我的testing系统上,似乎做的不止这些。 在Windows Server 2012 R2 x64机器上,在我的应用程序出现问题后,如果尝试将静态IP设置为networking接口,我会得到即时蓝屏。 要解决这个问题,我必须运行“netsh int ip reset”,然后我可以设置一个静态IP。 现在,我想弄清楚“netsh int ip reset”如何解决这个问题。 我知道是不是这两个registry项的内容,因为我在我的虚拟机上做了以下: 当系统出现故障时进行虚拟机备份。 启动VM并运行“netsh int ip reset”命令 导出这两个registry项 回滚到“netsh int ip reset”命令之前的备份 导入已保存的registry项 在networking接口上设置一个静态IP,但我仍然得到一个BSOD 当我的应用程序尝试使用过去已被另一个networking接口使用的IP地址来configurationnetworking接口时,首先必须删除非现有设备的IPconfiguration,然后才能使用该IP。 为此,它在SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ Interfaces中的每个registry中进行search,并通过将“IPAddress”属性中的值与我想要的值进行比较来查看是否有任何接口使用了我想要使用的IP地址使用。 如果find匹配,首先检查该接口是否存在,如果不存在,则删除“IPAddress”属性中的值并将属性“EnableDHCP”设置为1,然后我可以在我的接口上使用该IP。 这是我的应用程序做错了。 当这个界面恢复正常时,它会通过DHCP设置一个IPconfiguration,但是如果你尝试设置一个静态IP,它将会发生蓝屏。 正确的方法是将“IPAddress”属性设置为“0.0.0.0”和“EnableDHCP”为1.如果将“IPAddress”留空并将“EnableDHCP”设置为1,TCPIPconfiguration中出现错误, netsh整型IP重置“将修复..但究竟是什么修复,我不知道。 我所知道的是,它不在KB文章中提到的两个registry键中。 那么除了重新设置这两个registry的内容之外,“netsh int ip reset”还有什么function可以修复我的testing系统上的问题?