我有一台服务器在VMWare虚拟机内部运行Red Hat 6.3 Enterprise。 服务器和Internet之间有一个Juniper SSG 5防火墙。 我试图诊断它是什么样的DNS查找超时,但我恐怕没有所需的知识做到这一点。 这是tcpdump的输出,当我做一个$ wget www.google.com.br : $ tcpdump -i eth0 -n -vvv不是端口ssh 14:15:15.361010 IP(tos 0x0,tt164,id 8975,offset 0,flags [DF],proto UDP(17),length 63) 192.168.1.12.54835> 200.196.66.30.domain:[bad udp cksum f4e1!] 47797+ A? www.google.com.br。 (35) 14:15:15.361195 IP(tos 0x0,tt164,id 8976,offset 0,flags [DF],proto UDP(17),length 63) 192.168.1.12.54835> 200.196.66.30.domain:[bad udp cksum 4e62!] 8028+ AAAA? www.google.com.br。 (35) 14:15:15.362122 IP(tos 0x0,tt161,id […]
我有根访问我的dd-wrt路由器在192.168.0.1和计算机在192.168.0.100。 我需要从其他计算机(192.168.0.101)获取通过路由器(在互联网和出)的stream量,然后在我的192.168.0.100机器上查看wireshark。 如何才能做到这一点? 可能在路由器上使用iptables。
我的任务是在networking级别监视和debuggingSOAP Web服务。 我可以使用tcpdump来捕获来自80端口的客户的整个stream量,但是我不能将每个请求的捕获限制在第一个接收到的应用层数据包(这种情况下最重要的数据包,它包含HTTP请求头文件和SOAP XML文档的开头)。 我想知道使用哪个tcpdump交换机(或其他linux命令的组合)来获取每个TCP连接的第一个数据包,并丢弃为同一个连接接收到的数据包的其余部分。 如果可能的话,从服务器发送给客户的第一个响应数据包(可能是唯一的,因为在这个应用程序中,响应XML文档很小)也是很好的。 tcpdump -i any -A 'tcp port 80 and (((ip[2:2] – ((ip[0]&0xf)<<2)) – ((tcp[12]&0xf0)>>2)) != 0)'从tcpdump手册页tcpdump -i any -A 'tcp port 80 and (((ip[2:2] – ((ip[0]&0xf)<<2)) – ((tcp[12]&0xf0)>>2)) != 0)'例子,所以我没有得到TCP握手数据包。 而-c开关的问题是tcpdump在捕获数据包后退出,而我需要它继续运行,并继续显示新连接的相同信息。 理想情况下,我需要类似于尾随apache访问日志文件,以及第一批有意义的请求和响应。
我正在尝试创build一个小型服务来监视和终止带有FIN标志的套接字。 我可以得到他们与tcpdump (我也尝试过tcp [13]&1): tcpdump "tcp[tcpflags] & tcp-fin != 0" tcpkill假设使用与tcpdump相同的接口,但是它的工作原理不一样。 我已经尝试了一堆命令,但它应该是(-i eth0可选): tcpkill -9 "tcp[tcpflags] & tcp-fin != 0" 其中说(但没有别的,成功的tcpkill输出数据): tcpkill:监听eth0 [tcp [tcpflags]&tcp-fin!= 0] 看看源代码,应该将正确的filter传递给pcap(在[]括号之间)。 使用Net :: Pcap的perl脚本我可以确定filter工作正常。 我不知道我在做什么错,或者如果它是旧版本的tcpkill / pcap这是一个问题。 任何帮助tcpkill或帮助使用perl的Net :: Pcap杀死套接字将不胜感激。 谢谢! #!/usr/bin/perl use strict; use warnings; use Net::Pcap; my $err = ''; my $dev = 'eth0'; my ($address, $netmask); Net::Pcap::lookupnet($dev, […]
我想弄清楚为什么我控制的两台主机之间的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 […]
请注意,我将此Q发布到StackExchange信息安全网站,但不是像ServerFault那样填充,这更多的是在networking服务的networking收集技术方面。 我开始考虑如何分析我的networkingstream量,以获取有关Web服务器场的SSL和浏览器使用情况的信息。 我也怀疑在我们的networking上运行着一些影子(遗留的,未知的)networking服务器,我也想尝试捕捉它们的连接。 基本上我正在寻找一个便宜的解决scheme,可以: logging所有连接及其协议,类似于Wireshark如何loggingsrc / dst和协议,但不收集数据本身。 只是头和协议types信息。 (例如源/目标IP地址,协议和任何协议版本/细节,如SSL / TLS版本等) 对于HTTP连接,logging浏览器的“用户代理”属性。 (所以我可以被动地构build一些浏览器版本/兼容性图片) 能够为非标准端口这样做是一个加号。 限制收集只有具体的协议将是想法。 例如只收集HTTP,SSL和TLS。 我将最终将专门收集此信息的服务器插入到我控制的每个交换机上的镜像端口中。 这将有助于跟进以下活动: 找出哪些Web服务允许弱SSL / TLS版本。 例如,如果我看到任何SSLv2 / 3,我会考虑查找和重新configuration这些Web服务器到最低TLS v1.1。 获取最终用户Web浏览器的版本和版本情况的图片,以便我可以决定安全地进行最小的安全更改。 例如,如果15%的浏览器是不支持TLSv1.1 +的Vista(!)上的IE8,我就会提前知道。 另外,我可以查看这些IP,并确定它们中的任何一个是应该被调查的传统networking资源,而不仅仅是具有过时软件的一些最终用户。 确定哪些Web服务IP地址不是已知的,所以我可以跟踪这些服务。 我所要求的,而不是仅仅尝试使用tcpdump和OpenDPI的原因是性能上的担忧。 我不确定在镜像千兆端口时是否会发生什么情况。 捕获这些信息可能很困难(记住我不想要一个数据包转储,只需要头信息,它可以被折叠logging,我不需要知道每一个连接,只需要src / dst /协议独特的),但要确定是否捕获不成功。 例如,我怎么知道50%的连接被忽略? 我可能会运行一个星期,让用户configuration文件build立起来。 如果有人有任何的build议或意见,我是全部耳朵。 谢谢。
dom0和domU都是Debian 8。 Dom0的networkingconfiguration是: auto xenbr0 iface xenbr0 inet manual bridge_ports eth1 bridge_stp off bridge_waitport 0 bridge_fd 0 auto xenbr0.4 iface xenbr0.4 inet static address 192.168.4.13 broadcast 192.168.4.255 netmask 255.255.255.0 gateway 192.168.4.1 vlan-raw-device xenbr0 在主机上,我还更改了某些内核参数,以允许转发和通过防火墙传递数据包。 # sysctl -p /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.conf.xenbr0.proxy_arp = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 / etc […]
在对有效tcpdumpexpression式的描述中,pcap-filter手册页指出: filterexpression式由一个或多个基元组成。 图元通常由一个id(名字或数字)组成,前面有一个或多个限定符。 反过来,这些限定符是type , dir和proto 。 到目前为止这么好,但进一步下去,我们发现这一点: ip host host which is equivalent to: ether proto \ip and host host 在第一种情况下, ip和host分别是proto和type 。 ether proto \ip遵循什么模式? 整体而言,这不是一个proto资格赛吗? 如果是这样,为什么没有(一个正确逃脱)“ ether proto \ip host host ”合法(不and )?
tcpdump显示的以太网报文头长度是否包含IP报文的大小以及包含的数据?
我试图找出我的主机接收或发送到其他主机的vlan标记数据包。 我试过了 tcpdump -i eth1 vlan 0x0070 但它没有工作。 有没有人试图通过tcpdump之前查看VLAN数据包? searchnetworking找不到多less帮助!