- 常用命令詳解
$ tcpdump
$ tcpdump –i ens33
$ tcpdump host
47.95 .224 .4
$tcpdump host
47.95 .224 .4 and 10.13 .32 .60
$ tcpdump host
47.95 .224 .4 and \ (
10.13 .32 .60 or 10.13 .32 .169 \ )
$tcpdump host
47.95 .224 .4 and ! 10.13 .32 .169
$ tcpdump
-i ens33 src host
47.95 .224 .4
$ tcpdump
-i ens33 dst host
47.95 .224 .4
$ tcpdump tcp port
443 and host www
. baidu
. com
監(jiān)聽(tīng)指定網(wǎng)絡(luò)地址的數(shù)據(jù)包
$ tcpdump net
47.95 .
224.0 /
24
$ tcpdump ip
and not net
10.13 .
32.169
監(jiān)聽(tīng)icmp數(shù)據(jù)包
$ tcpdump 'icmp[icmptype] != icmp-
echo and icmp[icmptype] != icmp-echoreply'
//打印除'
echo request'或者'
echo reply'類型以外的ICMP數(shù)據(jù)包(比如,需要打印所有非
ping 程序產(chǎn)生的數(shù)據(jù)包時(shí)可用到此表達(dá)式。'
echo reuqest' 與 '
echo reply' 這兩種類型的ICMP數(shù)據(jù)包通常由
ping 程序產(chǎn)生))
//注意, 單引號(hào)或反斜桿不能省略, 這可以防止shell對(duì)&的解釋或替換.
*ICMP協(xié)議:是一種面向無(wú)連接的協(xié)議,用于傳輸出錯(cuò)報(bào)告控制信息。它是一個(gè)非常重要的協(xié)議,它對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。ICMP的全稱是 Internet Control Message Protocol 。從技術(shù)角度來(lái)ICMP就是一個(gè)“錯(cuò)誤偵測(cè)與回報(bào)機(jī)制”,其目的就是讓我們能夠檢測(cè)網(wǎng)路的連線狀況。 ICMP 是個(gè)非常有用的協(xié)議﹐尤其是當(dāng)我們要對(duì)網(wǎng)路連接狀況進(jìn)行判斷的時(shí)候。 ICMP協(xié)議對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。ICMP協(xié)議本身的特點(diǎn)決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機(jī)。例如,在1999年8月海信集團(tuán)“懸賞”50萬(wàn)元人民幣測(cè)試防火墻的過(guò)程中,其防火墻遭受到的ICMP攻擊達(dá)334050次之多,占整個(gè)攻擊總數(shù)的90%以上!可見(jiàn),ICMP的重要性絕不可以忽視! 比如,可以利用操作系統(tǒng)規(guī)定的ICMP數(shù)據(jù)包最大尺寸不超過(guò)64KB這一規(guī)定,向主機(jī)發(fā)起“Ping of Death”(死亡之Ping)攻擊。“Ping of Death” 攻擊的原理是:如果ICMP數(shù)據(jù)包的尺寸超過(guò)64KB上限時(shí),主機(jī)就會(huì)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP堆棧崩潰,致使主機(jī)死機(jī)。(操作系統(tǒng)已經(jīng)取消了發(fā)送ICMP數(shù)據(jù)包的大小的限制,解決了這個(gè)漏洞) 此外,向目標(biāo)主機(jī)長(zhǎng)時(shí)間、連續(xù)、大量地發(fā)送ICMP數(shù)據(jù)包,也會(huì)最終使系統(tǒng)癱瘓。大量的ICMP數(shù)據(jù)包會(huì)形成“ICMP風(fēng)暴”,使得目標(biāo)主機(jī)耗費(fèi)大量的CPU資源處理,疲于奔命。*
$tcpdump –XvvennSs
0 –i eth0 tcp[
20 :
2 ]=
0x4745 or tcp[
20 :
2 ]=
0x4850
GET :
45 (E)、
47 (G)
HTTP:H:
48 T:
54
ASC 碼
65 ~
90 為
26 個(gè)大寫(xiě)英文字母
監(jiān)聽(tīng)指定ip/tcp字段內(nèi)容的數(shù)據(jù)包
$ tcpdump ‘ip[
2 :
2 ]>
3 ’
$ tcpdump
'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
$ tcpdump
'tcp[tcpflags] & (tcp-syn|tcp-fin)!=0 and host 47.95.224.4'
$ tcpdump tcp
-i eth1
-t -s 0 -c 100 and dst port
! 22 and src net
192.168 .1 .0 /
24 -w . /target
. cap
(
1 )tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項(xiàng)等都要放到第一個(gè)參數(shù)的位置,用來(lái)過(guò)濾數(shù)據(jù)報(bào)的類型
(
2 )
-i eth1 : 只抓經(jīng)過(guò)接口eth1的包
(
3 )
-t : 不顯示時(shí)間戳
(
4 )
-s 0 : 抓取數(shù)據(jù)包時(shí)默認(rèn)抓取長(zhǎng)度為
68 字節(jié)。加上
-S 0 后可以抓到完整的數(shù)據(jù)包
(
5 )
-c 100 : 只抓取
100 個(gè)數(shù)據(jù)包,抓完后自動(dòng)停止
(
6 )dst port
! 22 : 不抓取目標(biāo)端口是
22 的數(shù)據(jù)包
(
7 )src net
192.168 .1 .0 /
24 : 數(shù)據(jù)包的源網(wǎng)絡(luò)地址為
192.168 .1 .0 /
24
(
8 )
-w . /target
. cap : 保存成cap文件,方便用ethereal(即wireshark)分析
-
c count tcpdump將在接受到count個(gè)數(shù)據(jù)包后退出.
-
e 每行的打印輸出中將包括數(shù)據(jù)包的數(shù)據(jù)鏈路層頭部信息
-
w file 數(shù)據(jù)包輸出到file,用于wireshark分析包
-
s len設(shè)置tcpdump的數(shù)據(jù)包抓取長(zhǎng)度為len, 如果不設(shè)置默認(rèn)是262144 byte
-
w 把包數(shù)據(jù)直接寫(xiě)入文件而不進(jìn)行分析和打印輸出. 這些包數(shù)據(jù)可在隨后通過(guò)-r 選項(xiàng)來(lái)重新讀入并進(jìn)行分析和打印.
-
x 當(dāng)分析和打印時(shí), tcpdump 會(huì)打印每個(gè)包的頭部數(shù)據(jù), 同時(shí)會(huì)以16 進(jìn)制打印出每個(gè)包的數(shù)據(jù)(但不包括連接層的頭部).總共打印的數(shù)據(jù)大小不會(huì)超過(guò)整個(gè)數(shù)據(jù)包的大小與snaplen 中的最小值. 必須要注意的是, 如果高層協(xié)議數(shù)據(jù)沒(méi)有snaplen 這么長(zhǎng),并且數(shù)據(jù)鏈路層(比如, Ethernet 層)有填充數(shù)據(jù), 則這些填充數(shù)據(jù)也會(huì)被打印.(nt: so for link layers that pad, 未能銜接理解和翻譯, 需補(bǔ)充 )
-
xx tcpdump 會(huì)打印每個(gè)包的頭部數(shù)據(jù), 同時(shí)會(huì)以16 進(jìn)制打印出每個(gè)包的數(shù)據(jù), 其中包括數(shù)據(jù)鏈路層的頭部.
-
X 當(dāng)分析和打印時(shí), tcpdump 會(huì)打印每個(gè)包的頭部數(shù)據(jù), 同時(shí)會(huì)以16 進(jìn)制和ASCII 碼形式打印出每個(gè)包的數(shù)據(jù)(但不包括連接層的頭部).這對(duì)于分析一些新協(xié)議的數(shù)據(jù)包很方便.
-
XX 當(dāng)分析和打印時(shí), tcpdump 會(huì)打印每個(gè)包的頭部數(shù)據(jù), 同時(shí)會(huì)以16 進(jìn)制和ASCII 碼形式打印出每個(gè)包的數(shù)據(jù), 其中包括數(shù)據(jù)鏈路層的頭部.這對(duì)于分析一些新協(xié)議的數(shù)據(jù)包很方便.
有效的操作符有: 否定操作 (
`! ' 或
`n ot')與操作(
`& &' 或
`a nd')或操作(
`| |' 或
`o r')
周至端口:0~1023 動(dòng)態(tài)端口:1024~65535 按照協(xié)議類型分為tcp/udp/ip/icmp端口
tcp端口:面向連接的可靠傳輸 常見(jiàn)的有ftp服務(wù)的21端口,telnet服務(wù)的23端口,smtp服務(wù)的25端口以及http服務(wù)的80端口,https服務(wù)的443端口。 udp端口:無(wú)需建立連接,不可靠。常見(jiàn)的有dns服務(wù)的53端口,snmp服務(wù)的161端口,ntp服務(wù)的123端口。還有經(jīng)常使用的8000端口和4000端口。1024端口分配給第一個(gè)向系統(tǒng)發(fā)出申請(qǐng)的端口。
HTTP服務(wù)器,默認(rèn)的端口號(hào)為
80 /tcp(木馬Executor開(kāi)放此端口);
HTTPS(securely transferring web pages)服務(wù)器,默認(rèn)的端口號(hào)為
443 /tcp
443 /udp;
Telnet(不安全的文本傳送),默認(rèn)端口號(hào)為
23 /tcp(木馬Tiny Telnet
Server 所開(kāi)放的端口);
FTP,默認(rèn)的端口號(hào)為
21 /tcp(木馬Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所開(kāi)放的端口);
TFTP(Trivial File Transfer Protocol ),默認(rèn)的端口號(hào)為
69 /udp;
SSH(安全登錄)、SCP(文件傳輸)、端口重定向,默認(rèn)的端口號(hào)為
22 /tcp;
SMTP Simple Mail Transfer Protocol (E-mail),默認(rèn)的端口號(hào)為
25 /tcp(木馬Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都開(kāi)放這個(gè)端口);
POP3 Post Office Protocol (E-mail) ,默認(rèn)的端口號(hào)為
110 /tcp;
WebLogic,默認(rèn)的端口號(hào)為
7001 ;
WebSphere應(yīng)用程序,默認(rèn)的端口號(hào)為
9080 ;
WebSphere管理工具,默認(rèn)的端口號(hào)為
9090 ;
JBOSS,默認(rèn)的端口號(hào)為
8080 ;
TOMCAT,默認(rèn)的端口號(hào)為
8080 ;
WIN2003遠(yuǎn)程登陸,默認(rèn)的端口號(hào)為
3389 ;
Symantec AV/
Filter for MSE ,默認(rèn)端口號(hào)為
8081 ;
Oracle 數(shù)據(jù)庫(kù),默認(rèn)的端口號(hào)為
1521 ;
ORACLE EMCTL,默認(rèn)的端口號(hào)為
1158 ;
Oracle XDB( XML 數(shù)據(jù)庫(kù)),默認(rèn)的端口號(hào)為
8080 ;
Oracle XDB FTP服務(wù),默認(rèn)的端口號(hào)為
2100 ;
MS SQL*
SERVER 數(shù)據(jù)庫(kù)
server ,默認(rèn)的端口號(hào)為
1433 /tcp
1433 /udp;
MS SQL*
SERVER 數(shù)據(jù)庫(kù)monitor,默認(rèn)的端口號(hào)為
1434 /tcp
1434 /udp;
QQ,默認(rèn)的端口號(hào)為
1080 /ud
- TCP數(shù)據(jù)包格式
序號(hào):Seq序號(hào),占32位,用來(lái)標(biāo)識(shí)從TCP源端向目的端發(fā)送的字節(jié)流,發(fā)起方發(fā)送數(shù)據(jù)時(shí)對(duì)此進(jìn)行標(biāo)記。 確認(rèn)序號(hào):Ack序號(hào),占32位,只有ACK標(biāo)志位為1時(shí),確認(rèn)序號(hào)字段才有效,Ack=Seq+1。 標(biāo)志位:共6個(gè),即URG、ACK、PSH、RST、SYN、FIN等,具體含義如下: URG:緊急指針(urgent pointer)有效。 ACK:確認(rèn)序號(hào)有效。 PSH:接收方應(yīng)該盡快將這個(gè)報(bào)文交給應(yīng)用層。 RST:重置連接。 SYN:發(fā)起一個(gè)新連接。 FIN:釋放一個(gè)連接。
標(biāo)志位:tcp[
13 ]標(biāo)志位 S置
1 |C|E|U|A|P|R|S|F|
|---------------|
|0 0 0 1 0 0 1 0|
c->s :
SYN =1,隨機(jī)產(chǎn)生一個(gè)seq=j,length=0
s->c :
SYN=1,ACK=1,seq=I,ack=j+1,length=0
c->s :
ACK=1,ack=1,length=0
例子:c->s發(fā)送cyn,s->c回送
Copy cyn
c ->s:
PSH =
1 ,
ACK =
1 ,seq=
1 :
4 ,ack=
1 ,length=
3
s ->c:
PSH =
1 ,
ACK =
1 ,seq=
27 :
38 ,ack=
4 , length=
11
c ->s:
ACK =
1 ,ack=
38 ,length=
0
例子:c->s發(fā)送exit,s收到該消息后斷開(kāi)tcp連接
c ->s:
PSH =
1 ,
ACK =
1 ,seq=
4 :
8 ,ack=
38 ,length=
4
c ->s:
FIN =
1 ,
ACK =
1 ,seq=
8 ,ack=
38 ,length=
0
s ->c:
ACK =
1 ,ack=
9 ,length=
0
c ->s:
RST =
1 ,
ACK =
1 ,seq=
9 ,ack=
38 ,length=
0
總結(jié)
以上是生活随笔 為你收集整理的tcpdump 在ubuntu上使用命令学习笔记 /tcp、ip、icmp数据包格式 的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。