IDC知識(shí)庫(kù)
IDC領(lǐng)域?qū)I(yè)知識(shí)百科平臺(tái)

ESXi上的抓包神器:tcpdump-uw/pktcap-uw

tcpdump-uw是傳統(tǒng)的抓包工具,pktcap-uw是高級(jí)版的抓包及分析工具,主要用在 ESXi 5.5 以后的版本中。

cpdump-uw主要抓取流經(jīng)VMkernel適配器的報(bào)文。pktcap-uw可以對(duì)虛擬交換機(jī)、VMkernel適配器、物理適配器的流都能進(jìn)行抓取。

Capture Points

tcpdump-uw沒(méi)有流量的概念,當(dāng)你用tcpdump-uw對(duì)vmk0進(jìn)行抓包時(shí),你可以直接看到VMkernel 入向和出向的報(bào)文。pktcap-uw則引入了捕捉點(diǎn)的概念,來(lái)決定你在哪兒進(jìn)行抓包。對(duì)VMkernel的流量,你有兩個(gè)可以進(jìn)行抓包的地方:

PortOutput:從虛擬交換機(jī)到VMkernel 的流量。

PortInput:從VMkernel 到虛擬交換機(jī)的流量。(默認(rèn))

這里發(fā)起一個(gè)ping操作,用tcpdump-uw可以看到ICMP請(qǐng)求和相應(yīng)報(bào)文。

使用pktcap-uw,不指定捕捉點(diǎn)的話(huà),會(huì)看到從PortInput出來(lái)的reply報(bào)文。

通過(guò)—capture PortOutput參數(shù)可以抓到ICMP echo request報(bào)文。

Packet Interpretation

這里我們同樣用上面ping的例子來(lái)進(jìn)行說(shuō)明。tcpdump-uw抓的包比較通俗易懂,pktcap-uw的包是十六進(jìn)制的原始數(shù)據(jù)包。當(dāng)然,如果分別通過(guò)-w或-o輸出后到某一文件后,兩者的輸出是一樣的。如果想用tcpdump-uw輸入十六進(jìn)制的原始數(shù)據(jù)包,可以在尾部加-xx參數(shù)。

Protocol Knowledge

上面的例子都是采用ICMP報(bào)文來(lái)說(shuō)明兩者的不同。當(dāng)用tcpdump-uw時(shí)可以加icmp參數(shù)來(lái)進(jìn)行包過(guò)濾,而用pktcap-uw不關(guān)心報(bào)文協(xié)議,只能通過(guò)加protocol id來(lái)進(jìn)行過(guò)濾。protocol id是IPv4報(bào)文頭部的一部分,ICMP的protocol id從1開(kāi)始。下面可以看到協(xié)議的十六進(jìn)制顯示。

https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers這里列出了所有的協(xié)議號(hào)。當(dāng)然,如果對(duì)網(wǎng)絡(luò)協(xié)議不了解的話(huà),也可以將抓包結(jié)果導(dǎo)入到wireshark中,它能通俗易懂地解析所抓到的報(bào)文。

tcpdump-uw Usage

現(xiàn)在學(xué)習(xí)某個(gè)命令一般都有比較友好的說(shuō)明,所以成本較低,這里也就不詳細(xì)列出了。也不用牢記,畢竟大腦不能當(dāng)硬盤(pán)來(lái)用,具體到實(shí)際的應(yīng)用時(shí),只需加-h即可,-h搞不定的就去必應(yīng)上百度一下,哈。

tcpdump-uw Examples

1、列出所有可用的VMkernel 適配器

2、tcpdump-uw默認(rèn)抓取的是報(bào)文前68字節(jié)的數(shù)據(jù),要想抓取整個(gè)報(bào)文,可通過(guò)-s來(lái)指定。如:

3、當(dāng)開(kāi)啟了巨幀,可以加-s 9014,但由于緩沖限制,tcpdump-uw最多能抓到8138字節(jié),通過(guò)追加-B 9的參數(shù)可以允許抓到9014字節(jié)的包。

4、主機(jī)過(guò)濾

pktcap-uw Usage & Examples

pktcap-uw較復(fù)雜,也可以通過(guò)-h來(lái)查看如何使用,這里限于篇幅我只截取了一部分。

1、VMkernel 口抓包

2、IP過(guò)濾

3、物理口抓包,具體抓哪個(gè)物理口,可以通過(guò)vsphere-client來(lái)看。

4、抓任何被丟棄的包,較為實(shí)用。

5、查看所有可抓包的點(diǎn)。需要說(shuō)明的是有些point是和特定的流量類(lèi)型(Virtual Machine traffic, VMkernel traffic,..)綁定的,有些是全局性的。

贊(6)
分享到: 更多 (0)

中國(guó)專(zhuān)業(yè)的網(wǎng)站域名及網(wǎng)站空間提供商

買(mǎi)域名買(mǎi)空間