<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>waimv.com &#187; tcpdump</title>
	<atom:link href="http://www.waimv.com/tag/tcpdump/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.waimv.com</link>
	<description></description>
	<lastBuildDate>Fri, 09 Nov 2018 10:41:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>linux下的抓包工具tcpdump</title>
		<link>http://www.waimv.com/linux/248/</link>
		<comments>http://www.waimv.com/linux/248/#comments</comments>
		<pubDate>Fri, 16 Nov 2012 06:28:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[tcpdump]]></category>

		<guid isPermaLink="false">http://www.szpian.com/?p=248</guid>
		<description><![CDATA[1. tcpdump -D 获取网络适配器列表，以下是在windows上获取到的结果： 1.\Device\PssdkLoopback (PSSDK Loopback Ethernet Emulation Adapter) 2.\Device\{CF587901-C85F-4FD6-896F-D977DEFE76EC} (Intel(R) PRO/100 VE Network Co nnection) 2. tcpdump -i &#60;需要监控的网络适配器编号&#62;，例如我想监控lo(127.0.0.1)，即上面列表中的1.\Device\PssdkLoopback: （windows上特有的，linux不适用） tcpdump -i 1 如果不使用-i来定义监控适配器的话，默认使用列表中的第一个； 3. 监控主机为192.9.200.59上8000端口的tcp协议： tcpdump host 192.9.200.59 and tcp port 8000 4. 如果想要显示数据包的内容，需要使用-X参数，如，我想要显示捕获的http数据包http header的内容： tcpdump -X host 192.9.200.59 and tcp port 8000 显示结果如下： 22:13:19.717472 IP testhost59.12535 &#62; liujuan59.8000: . 1:330(329) ack [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">
<div id="_mcePaste">1. tcpdump -D 获取网络适配器列表，以下是在windows上获取到的结果：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">1.\Device\PssdkLoopback (PSSDK Loopback Ethernet Emulation Adapter)</div>
<div id="_mcePaste">2.\Device\{CF587901-C85F-4FD6-896F-D977DEFE76EC} (Intel(R) PRO/100 VE Network Co</div>
<div id="_mcePaste">nnection)</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">2. tcpdump -i &lt;需要监控的网络适配器编号&gt;，例如我想监控lo(127.0.0.1)，即上面列表中的1.\Device\PssdkLoopback: （windows上特有的，linux不适用）</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump -i 1</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">如果不使用-i来定义监控适配器的话，默认使用列表中的第一个；</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">3. 监控主机为192.9.200.59上8000端口的tcp协议：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump host 192.9.200.59 and tcp port 8000</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">4. 如果想要显示数据包的内容，需要使用-X参数，如，我想要显示捕获的http数据包http header的内容：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump -X host 192.9.200.59 and tcp port 8000</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">显示结果如下：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">22:13:19.717472 IP testhost59.12535 &gt; liujuan59.8000: . 1:330(329) ack 1 win 327</div>
<div id="_mcePaste">8</div>
<div id="_mcePaste">0&#215;0000: 4500 0171 e616 0000 8006 cb2b 0000 0000 E..q&#8230;&#8230;.+&#8230;.</div>
<div id="_mcePaste">0&#215;0010: c009 c83b 30f7 1f40 0000 0002 0000 0002 &#8230;;0..@&#8230;&#8230;..</div>
<div id="_mcePaste">0&#215;0020: 5010 8000 b066 0000 504f 5354 202f 2048 P&#8230;.f..POST./.H</div>
<div id="_mcePaste">0&#215;0030: 5454 502f 312e 310d 0a43 6f6e 7465 6e74 TTP/1.1..Content</div>
<div id="_mcePaste">0&#215;0040: 2d54 7970 653a 2074 6578 742f 786d 6c3b -Type:.text/xml;</div>
<div id="_mcePaste">0&#215;0050: 2063 .c</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">可以看到该结果只显示了http头的一部分，没有显示全，是因为tcpdump默认将显示的数据长度截断了，可以使用-s后面加数据长度，来设置数据显示长度：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump -X -s 0 host 192.9.200.59 and tcp port 8000</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">以上的例子中，-s 0 表示自动设置长度使其能够显示所有数据。</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">5. 捕获的数据太多，不断刷屏，可能需要将数据内容记录到文件里，需要使用-w参数：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump -X -s 0 -w aaa host 192.9.200.59 and tcp port 8000</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">则将之前显示在屏幕中的内容，写入tcpdump可执行文件同级目录下的aaa文件中。</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">文件查看方式如下，需要使用-r参数：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump -X -s 0 -r aaa host 192.9.200.59 and tcp port 8000</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">如果这样写：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump -r aaa</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">则只能看到最简单的数据传输交互过程，看不到数据包内容，查看时也需要使用相应的参数。</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">6.总结</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">总结一下，tcpdump的参数分两个部分，选项（Options）和表达式（expression）：</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">tcpdump[-adeflnNOpqRStuvxX] [-ccount]</div>
<div id="_mcePaste">[-Cfile_size] [-Ffile]</div>
<div id="_mcePaste">[-iinterface] [-mmodule] [-rfile]</div>
<div id="_mcePaste">[-ssnaplen] [-Ttype] [-wfile]</div>
<div id="_mcePaste">[-Ealgo:secret] [expression]</div>
<div id="_mcePaste"></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.waimv.com/linux/248/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
