我正在尝试debuggingnetworking问题,并使用Wireshark和tcpdump从我的服务器抓取数据包。 我有一个客户端应用程序抓取所有可用的连接,然后持有它们,尝试发送大量数据,并且基本上导致无意的DOS攻击。 在debugging过程中,我注意到我看到我的服务器发送“窗口closures”和“零窗口”TCP数据包 – 但从不发送任何“窗口更新”数据包。 我猜这就是为什么客户端永远不会放弃连接(它仍然有更多的数据发送和等待)。 有没有人见过这种行为? 让我们不了解为什么我没有build立一个iptables规则来限制并发连接(是的,我知道)。 我最近也把MTU从1500改为9000,这是否会产生这样的负面影响? (Linux)谢谢。
我使用一台机器作为路由器,它工作得很好,但是如果我做一个ping -t whatever.server它总是会导致3-4%的包丢失,无论是什么服务器。 看看ifconfig或netstat -i显示没有错误,那么有什么工具,我可以用来分析这个错误? 使用wireshark告诉我,它做了一个请求,但没有给出答复,所以错误似乎是在接收端。 任何想法或build议是非常受欢迎的,我有点迷失在这里。 提前致谢, 更新:似乎我得到这个答复在同一台机器上ping一个虚拟机也,我会尝试更换networking电缆,看看是否可以解决这个问题。 当我完成切换时,我会更新这个问题。 感谢你目前的帮助。 安德斯
我试图诊断一个networking相关的问题 – 请在提出答案之前理解这些要点(如果需要更多的信息,我会添加任何人提出的问题)。 我们有一台服务器专用networking(5台应用服务器,4台数据库服务器,其他几台服务器),这些服务器之间似乎正在遭受数据包丢失 我可以看到这发生在wireshare上 – 有很多TCP重传,TCP_Out-of-Order,TCP DupACK,我也想到了一些TCP_ZeroWindow包。 在IP协议上似乎有很多错误的校验和 我认为networking适配器有一个非常稳定和高(90-100%)的负载,由于这个数据包丢失造成额外的重试 随着该networking上的外部请求(对应用服务器)的增加,networking性能下降 应用程序服务器在由外部请求使用时会生成自己的stream量 外部请求通过核心路由器,networking位于自己的网段上 这个高负载在1-2天后“神奇地”消失了,我神奇地说,就像我们在负载下降的时候只在适配器上进行监视一样,尽pipe数量较less,但仍然存在包丢失。 没有指向受损的服务器。 不幸的是,我们没有物理访问任何硬件 我们不能破坏当前的服务 鉴于上述情况,确定造成数据包丢失的最佳方法是什么(我们期望它是一个pipe理型交换机)。 是否有任何软件可以为我们提供经validation据,certificate导致问题的原因? 提前致谢
我们的networking上有一个SMTP中继(只是一个带有SMTP的XP盒子)。 这是因为一些传统的应用程序使用它,所以从代码发送电子邮件。 它几乎没有任何stream量,我可以从SMTP日志中看到,它只是每隔几天使用一次,如果是这样的话。 在closures之前,我想跟踪电子邮件的来源(我可以看到始发服务器,但是我希望能够看到SMTP标头以获取发件人,收件人以及可能的主体)。 我怎样才能在很长一段时间内做到这一点? 我想过wireshark,但是打算让它跑几个星期。 这是可pipe理的还是有更好的解决scheme?
我正在使用wireshark捕获stream量。 一切正常,但由于某种原因,我捕获了超过2毫升的数据包,wireshark只是崩溃。 我不知道可能是什么原因,但是我尝试过三次,每次2ml后都会崩溃。 所以我通过使用File->Export->File每隔1百万个数据包输出信息,然后重新开始捕获。 一切工作正常,但有没有办法自动告诉wireshark导出并重新启动捕获特定数量的数据包或可能是特定的时间限制?
我正在尝试分析Wireshark中的ftpstream量。 我可以看到像Request:List,PORT这样的命令。 但是在FTP之后 Response 150: Opening data channel for directory list. 我马上看到的是 Response 226: Transfer OK 哪里是文件列表? 为什么我看不到它? (我有这个清单 – 我可以在terminal看到)
使用以下命令在RHEL 5.5(32位)中安装Wireshark之后: yum install wireshark Wireshark未find: [root @ localhost〜]#wireshark bash: wireshark:找不到命令 我该怎么办?
我们公司的SVN服务器,自行安装,托pipe在EC2上,速度很慢。 该设置基于Apache和mod_dav_svn。 CI系统似乎也在使用svnserve。 我们可以使用服务器和客户端证书使用SSL访问存储库,我注意到一个奇怪的事情,同时使用Wireshark监视提交。 我会期望有一个SSL握手来build立连接,并且该连接在会话中被重用。 但是,似乎每200ms / 10kb有一个新的TCP连接与新的SSL握手(这是由于证书采购比SVNstream量本身更高的有效负载)。 SVN提交期间的对话。 请注意,每个连接最多只有10kb的数据传输。 作为数据包提交的开始。 据我可以告诉服务器发送encryption警报closuresSSL连接。 然后你看到下一次握手… Apache ssl.conf: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so SSLVerifyClient optional SSLUserName SSL_CLIENT_S_DN_CN SSLCARevocationFile /etc/httpd/ssl/xxx-revoke.pem <Location /svn/repos> DAV svn SVNPath /path/svn/repos SSLRequireSSL SSLRequire (%{SSL_CLIENT_S_DN_O} in {"c1", "c2"}) and !(%{SSL_CLIENT_S_DN_CN} in {"old1", "old2"}) # Allow large files LimitXMLRequestBody 0 LimitRequestBody 0 </Location> 我正在使用TortoiseSVN GUI […]
所以我有这个python服务器,它只是返回input的大写句子: from socket import * serverPort = 12000 serverSocket = socket(AF_INET, SOCK_DGRAM) serverSocket.bind(('192.168.1.2', serverPort)) print "The server is ready to receive on port: {}".format(serverPort) while 1: message, clientAddress = serverSocket.recvfrom(2048) print clientAddress, message modifiedMessage = message.upper() serverSocket.sendto(modifiedMessage, clientAddress) 从这个客户端: from socket import * serverName = "192.168.1.3" serverPort = 12000 clientSocket = socket(AF_INET, SOCK_DGRAM) message = […]
Windows Server 2003。 我在服务器上安装了最新的WireShark,需要捕获服务器上的数据包,以查明随机发生的连接重置/重新传输问题。 当连接复位发生时,它将重置约600个连接/秒,正常值应低于100 /秒。 服务器实际上是Cisco UCS主机上的虚拟机。 tshark数据包捕获可以帮助找出原因吗? 另一个问题是因为我要捕获所有的stream量(不知道这是一个好主意),我也做分组切片。 我的问题是每个数据包应该限制多less个字节。 看起来像我捕获的数据包有54个字节的头(似乎包括帧,EthernetII,互联网协议,TCP部分)。 我应该使用吗? tshart -q -b "filesize:20000" -b "files:5" -s 54 -wc:\outfile.pcap 所有的有效载荷将不会被保存? 请指教,谢谢!