tcpdump的用法
三智能 托播告 多媒行 SEO官 告, 告公司
tcpdump 可用取通某路介面的封包。(需有 root 限!)
很久以前上就有教了,但都啥用到!最近因要查 Mail Server 啥法寄信,才又重新上找了一下相料。
考:哥、Tsung Blog、510CTO
基本有:
.-n:以字示,不 IP 作反解,但仍示服名。
.-nn:直接以 IP 及 port number 示,而非主名服名。
.-p:不要以 promiscuous mode 行。
.-t:不要示 timestamp。
.-i:指令要控的路介面,如 eth0、lo、any 等。
.-e:使用料接 (OSI 第二) 的 MAC 封包料示。
.-c:的封包,如果有,tcpdump 持不的,直到使用者入 [ctrl]-c 止。
.-q:列出短的封包,每一行的容比精。
.-s:抓比的 data 做一。
.-v:出一稍微的,例如在 IP 封包中可以包括 ttl 和服型的。
.-A:封包的容以 ASCII 示,通常用捉取 WWW 的封包料。
.-X:可以列出十六位 (hex) 以及 ASCII 的封包容,於封包容很有用。
.-w:如果你要所得的封包料存下,用就了!後面接名。
.-r:後面接的案封包料出。那『案』是已存在的案,且『案』是由 -w 所作出的。
《例》 tcpdump -nn -i eth0
可指定件式要求 tcpdump 只取某些封包。
件式可以是一的『基本件式(primitives)』,
或用 and(&&),or(||),not(!) 以及『(』、『)』合基本件式而成。
常用的『基本件式(primitives)』:
host 192.168.0.254 | 源或目的 IP 是 192.168.0.254 |
src host 192.168.0.254
| 源 IP 是 192.168.0.254 |
dst host 192.168.0.254 | 目的 IP 是 192.168.0.254 |
ether host aa:bb:cc:dd:ee:ff | 源或目的 mac address 是 aa:bb:cc:dd:ee:ff |
ether src aa:bb:cc:dd:ee:ff | 源 mac address 是 aa:bb:cc:dd:ee:ff |
ether dst aa:bb:cc:dd:ee:ff | 目的 mac address 是 aa:bb:cc:dd:ee:ff |
net 192.168.0.0 mask 255.255.255.0 | 源或目的 IP 在 192.168.0.X 可加上 src 或 dst 做一步限制 |
net 192.168.0.0/24 | 同上 |
tcp/udp/icmp | 封包有 tcp/udp/icmp 的料 |
port domain | 源或目的 port domain (53) 可加上 src,dst 或 tcp,udp 做一步限制 |
port 53 | 同上 |
tcp src port smtp | 源 port TCP/25 |
例:
tcpdump -i eth0 'tcp'
tcpdump -i eth0 'host 192.168.0.X'
tcpdump -i eth0 'tcp and host 192.168.0.X'
tcpdump -i eth0 'tcp port 22 and host 192.168.0.X'
tcpdump -i eth0 'tcp and (not port 22) and (net 192.168.0.0/24)'
看了哥介 -X 的,忍不住也行,定抓抓 POP3 的封包,我先入下列指令保存封包容:
# tcpdump -i eth0 -nn -X 'port 110' -w packet
行後,面就不出所抓取的封包容,直接就到 packet 案中。接下我再行下列指令封包容:
# tcpdump -nnXr packet |less
果不其然,於也到了明的危性了。

一些「超 Tcpdump 的用法」的容
第一是於型的字,主要包括 host、net、port,例如 host 210.27.48.2,指明 210.27.48.2 是一台主,net 202.0.0.0 指明 202.0.0.0 是一路位址,port 23 指明埠是 23。如果有指定型,的型是 host。
第二是定方向的字,主要包括 src、dst、dst or src、dst and src。些字指明了AR 大心 品行 SEO站化 2D的方向。例明,src 210.27.48.2,指明 IP 封包中源位址是 210.27.48.2 , dst net 202.0.0.0 指明目的位址是 202.0.0.0。如果有指明方向字,是不分方向(src or dst)。
第三是定的字,主要包括 fddi、ip、arp、rarp、tcp、udp 等型。fddi指明是在FDDI(光分式介面)上特定的路定,上它是“ether”的名,fddi 和 ether 具有似的源位址和目的位址,所以可以 fddi 封包作 ether 的封包行理和分析。其他的字就是指明了取的封包定。如果有指定任何定, tcpdump 取所有定的封包。
除了三型的字之外,其他重要的字如下:gateway、broadcast、less、greater。有三算,反相算式 not,!;算式 and,&&;或算式 or,||。些字可以合起成大的合件足人的需要,下面例子明。
A.想要取所有 210.27.48.1 的主收到的和出的所有的封包:
# tcpdump host 210.27.48.1
B.想要取主 210.27.48.1 和主 210.27.48.2 或 210.27.48.3 的通信,使用命令:(在命令行中使用小括,一定要加跳符\)
# tcpdump host 210.27.48.1 and \( 210.27.48.2 or 210.27.48.3 \)
C.如果想要取主 210.27.48.1 和除了主 210.27.48.2 之外所有主通信的 IP 封包,使用命令:
# tcpdump ip host 210.27.48.1 and ! 210.27.48.2
D.如果想要取主 210.27.48.1 接收或出的 telnet 封包,使用如下命令:
# tcpdump tcp port 23 host 210.27.48.1
E.本的 udp 123 埠行(123 ntp 的服埠):
# tcpdump udp port 123
F.系只名 hostname 的主的通信封包行取。主名可以是本地主,也可以是路上的任何一台。下面的命令可以取主 hostname 送的所有封包:
# tcpdump -i eth0 src host hostname
G.下面的命令可以取所有送到主 hostname 的封包:
# tcpdump -i eth0 dst host hostname
H.我可以取通指定道的封包:
# tcpdump -i eth0 gateway GatewayIP
I.如果你想取主指定埠的 TCP 及 UDP 封包,那行以下命令:
# tcpdump -i eth0 host hostname and port 80
J.如果我只需要列出送到 80 埠的封包,用 dst port;如果我只希望看到返回 80 埠的封包,用 src port。
# tcpdump -i eth0 host hostname and dst port 80 目的埠是 80
或者
# tcpdump -i eth0 host hostname and src port 80 源埠是80,一般是提供 HTTP 服的伺服器
K.如果件很多的,要在件之前加 and 或 or 或 not
# tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80
查!
20090429
< type="text/Javascript" src="https://ssp.hinet.net/api/app.js"> < language="Javascript">(function(){$('#content_all img').map((function(){var skip_count = 2;return function(){var $this = $(this);if(this.src.indexOf('.gif') == -1) {var data = {title: this.title || this.alt || '',description: '',src: this.src,size: 'o',href: $this.parent('a')};if(data.href.length != 0) {data.href = data.href[0].href;} else {data.href = '#';}if(skip_count <= 0) {var src = this.src;$(this).addClass('lazyload').attr({'src': 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7','data-original': src});} else {skip_count--;}}return this;};})());$(function(){$('#content_all img.lazyload').lazyload({threshold: 600,load: function() {$(this).removeClass('lazyload');if( BlogPlugins && BlogPlugins.auto_resize &&(typeof xuiteBlogPlugin_auto_resize=="undefined") || (xuiteBlogPlugin_auto_resize == null) || (xuiteBlogPlugin_auto_resize == 'Y') ) {BlogPlugins.auto_resize(this, null, {delay:1000});}}});});})();var itemArticleDetailType = "";if(getCookie("xuite_id") != null && itemArticleDetailType != "article_preview"){$.ajax({type: "GET",url: "/_theme/AuthorButtonExp.php?aid=23669726&bid=1099933&mid=14832540&author_id=14832540&article_type=blog&ga="+(new Date()).getTime(),async: false,dataType: 'json',success: getButton});}function getButton(json){document.write("
"+json+"
");}if ((typeof xuiteBlogPlugin_auto_yo=="undefined") || (xuiteBlogPlugin_auto_yo == null) || (xuiteBlogPlugin_auto_yo == 'Y')) {$.ajax({type: "GET",url: "//s.blog.xuite.net/_public/js/BlogPlugins.auto_yo.js",success: function(){BlogPlugins.auto_yo.fetchItem(23669726);},dataType: "script",cache: true});}
< language="Javascript">if ((typeof xuiteBlogPlugin_facebook_like_down=="undefined") || (xuiteBlogPlugin_facebook_like_down == null) || (xuiteBlogPlugin_facebook_like_down == 'Y')){$(document).ready(function(){(new XUI.Widgets.Like(document.getElementById('facebook-like-bottom'), { mode : 'face' , URL : 'http://blog.xuite.net/jyoutw/xtech/23669726' })).render();});}if ((typeof xuiteBlogPlugin_facebook_comment=="undefined") || (xuiteBlogPlugin_facebook_comment == null) || (xuiteBlogPlugin_facebook_comment == 'Y')){var myBlogThemeWidth = $(".title").width()-38;if ((typeof xuiteBlogPlugin_facebook_comment_color=="undefined") || (xuiteBlogPlugin_facebook_comment_color == null) || (xuiteBlogPlugin_facebook_comment_color == 'Y')){document.write('
'+'');}else {document.write('
'+'');}(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = "//connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v2.0";fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));}
< language="Javascript">var notVIP = '
';$(".articleExtAd").append(notVIP);setTimeout(function() {$('.top-toolbar').data('top-toolbar').setAD({title: "tcpdump \u7684\u7528\u6cd5",label_id: 164,label_name: "\u8edf\u9ad4\u60c5\u5831"});}, 2000);
< language="Javascript">if( (typeof xuiteBlogPlugin_relate_article=="undefined") || (xuiteBlogPlugin_relate_article == null) || (xuiteBlogPlugin_relate_article == 'Y')){$(".articleExt").append('
');}else{$(".articleExt").append('
');}if( (typeof xuiteBlogPlugin_random_article=="undefined") || (xuiteBlogPlugin_random_article == null) || (xuiteBlogPlugin_random_article == 'Y') || (xuiteBlogPlugin_random_article == 'YY')){$(".articleExt").append('
');var random_cOntent= '
';$(".articleExt").append(random_content);$.get("/_theme/ArticleRandomExp.php?bid=1099933", function(data){$("#articleExt_random_content").append(data);if(data != null && data != ""){$("#articleExt_random_title").append("文章 : ");}});}if( (typeof xuiteBlogPlugin_history_today=="undefined") || (xuiteBlogPlugin_history_today == null) || (xuiteBlogPlugin_history_today == 'Y')){$(".articleExt").append("
");}(function() {var pa = document.createElement('script'); pa.type = 'text/Javascript'; pa.charset = "utf-8"; pa.async = true;pa.src = window.location.protocol + "//api.popin.cc/searchbox/xuite_blog.js";var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(pa, s);})();

< language="Javascript"> function doMsgDelete(mid,page){ if(confirm("是否定要除")){ $("div.jqmWindow").html("
"); } } function doTrackDelete(tid,lid,url,page){ if(confirm("是否定要除")){ $("div.jqmWindow").html("
"); } } function doMsgEdit(mid,page){ var l="/_theme/message/message_post.php?act=edit&mid="+mid+"&aid=23669726&bid=1099933&page="+page; window.open(l,'post_win','width=660,height=700,scrollbars=1'); } function doMsgReplyAdd(rel_id,page,owner_sn,owner_login_id){ var l="/_theme/message/message_post.php?act=reply&rel_id="+rel_id+"&aid=23669726&bid=1099933&page="+page+"&owner_sn="+owner_sn+"&owner_login_id="+owner_login_id; window.open(l,'post_win','width=660,height=700,scrollbars=1'); } function doMsgReplyEdit(mid,page){ var l="/_theme/message/message_post.php?act=reply_edit&mid="+mid+"&aid=23669726&bid=1099933&page="+page; window.open(l,'post_win','width=660,height=700,scrollbars=1'); } function doSummary(arg){ $("#summarySwitch").html($("#summaryContent").html()); $("#summaryContent").html($("#summaryDisplay").html()); $("#summaryDisplay").html($("#summarySwitch").html()); } function sendMail(content,link,title,author,e_title) { window.location.href = "mailto:?subject="+title+"&body=%B3o%ACO%A6n%AAB%A4%CD%C2%E0%B1H%AA%BAXuite%A6n%A4%E5%B3%B9%B3%E1%A1A%A7%D6%C2I%BF%EF%A4U%AD%B1%B3s%B5%B2%A1A%C0%B0%A5L%BCW%A5%5B%A4H%AE%F0%B3%E1%21%21"+escape(' ')+escape(' ')+e_title+escape(' ')+author+escape(' ')+content+escape(' ')+escape(' ')+link; } < language="Javascript"> var myBlogThemeWidth; var ori_width; var ori_height; var imgJar = new Array(); $(document).ready(function(){ $.ajax({ type: "GET", url: '/_theme/ArticleDetailCounterExp.php?aid=23669726&ga='+(new Date()).getTime(), dataType: 'json', success: getArticleDetailCounter }); var index=""; Message(23669726,1099933,14832540,14832540,index); TrackBack('23669726','jyoutw','xtech','14832540','1099933','14832540','Y',index); if ((typeof xuiteBlogPlugin_auto_resize=="undefined") || (xuiteBlogPlugin_auto_resize == null) || (xuiteBlogPlugin_auto_resize == 'Y')) { $.ajax({ type: "GET", url: "//s.blog.xuite.net/_public/js/BlogPlugins.auto_resize.js", success: function(){ BlogPlugins.auto_resize("#content_all img", null, {delay:1000}); }, dataType: "script", cache: true }); } }); function getArticleDetailCounter(json){ $("div#article_counter").html("
"+json[0].counter+""); } function TrackBack(aid,b_login,b_url,mid,bid,a_author_id,track_flag,index){ $.ajax({ type: "GET", url: '/_theme/TrackBackShowExp.php?aid='+aid+'&b_login='+b_login+'&b_url='+b_url+'&mid='+mid+'&bid='+bid+'&a_author_id='+a_author_id+'&track_flag='+track_flag+'&index='+index+'&ga='+(new Date()).getTime(), dataType: 'json', async: false, success: getTrackBackShow }); } function Message(aid,bid,uid,a_author_id,index){ $("div.item_message").html(""); $("div.alertLoad").ajaxStart(function(){ $(this).show(); }); $("div.alertLoad").ajaxStop(function(){ $(this).hide(); $(this).unbind("ajaxStart"); }); var mid = ""; if (index == "" && location.hash != '#message_header') { mid = location.hash.replace("#",""); } $.ajax({ type: "GET", url: '/_theme/MessageShowExp.php?aid='+aid+'&uid='+uid+'&bid='+bid+'&a_author_id='+a_author_id+'&index='+index+'&mid='+mid+'&ga='+(new Date()).getTime(), dataType: 'json', async: false, success: getMessageShow }); } function getMessageShow(json){ $("div.item_message").html(json['message'].content); $("div.alertLoad").hide(); if(json['aside'].check != 0){ for( i =0; i < json['aside'].length; i++){ $("div#authorname_"+json['aside'][i].id).html(""); $("div#commenttext_"+json['aside'][i].id).html(json['aside'][i].content); } } if(json['button'].check != 0){ for( i =0; i < json['button'].length; i++) { if(json['button'][i].level == 'all'){ /*是回覆*/ if(json['button'][i].relation_id != null && json['button'][i].relation_id != undefined){ $("div#commentbutton_"+json['button'][i].relation_id).html("

"); /*是回*/ }else{ /*有回覆*/ if($("div#reply_"+json['button'][i].id).html() != null){ $("div#commentbutton_"+json['button'][i].id).html("

"); /*回覆*/ }else{ if(json['button'][i].self_write != 'y'){ $("div#commentbutton_"+json['button'][i].id).html("

"); }else{ $("div#commentbutton_"+json['button'][i].id).html("

"); } } } }else if(json['button'][i].level == 'one'){ /*是回覆*/ if(json['button'][i].relation_id != null && json['button'][i].relation_id != "undefined"){ $("div#commentbutton_"+json['button'][i].relation_id).html("

"); /*是回*/ }else{ /*有回覆*/ if($("div#reply_"+json['button'][i].id).html() != null){ $("div#commentbutton_"+json['button'][i].id).html("

"); /*回覆*/ }else{ if(json['button'][i].self_write != 'y'){ $("div#commentbutton_"+json['button'][i].id).html("

"); }else{ $("div#commentbutton_"+json['button'][i].id).html("

"); } } } //放上ip }else{ $("div#commentbutton_"+json['button'][i].id).html("

"); } } } if(json['reload'].flage != "true"){ ff= location.href; tt = ff.indexOf("#"); if(tt != -1){ o_index =ff.substring(0,tt); location.href="https://blog.xuite.net/jyoutw/xtech/o_index+"#message_header"; }else{ location.href="https://blog.xuite.net/jyoutw/xtech/ff+"#message_header"; } } bindBubbles(); } function getTrackBackShow(json){ $("div.item_trackBack").html(json['trackBack'].content); if(json['button'].check != 1){ $("div.track_button").hide(); } if(json['reload'].flage != "true"){ ff= location.href; tt = ff.indexOf("#"); if(tt != -1){ o_index =ff.substring(0,tt); location.href="https://blog.xuite.net/jyoutw/xtech/o_index+"#trackBack_header"; }else{ location.href="https://blog.xuite.net/jyoutw/xtech/ff+"#trackBack_header"; } } } var pinnedSite = new XUI.Widgets.PinnedSite( { title: "tcpdump 的用法", //文章 author: "jyoutw", //Content作者id 目前一memberid url: "http://blog.xuite.net/jyoutw/xtech/23669726" //Content的URL } ); pinnedSite.render();