pcap過濾規(guī)則格式_第1頁
pcap過濾規(guī)則格式_第2頁
pcap過濾規(guī)則格式_第3頁
pcap過濾規(guī)則格式_第4頁
pcap過濾規(guī)則格式_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

函數(shù)名稱:intpcap_compile(pcap_t*p,structbpf_program*fp,char*str,intoptimize,bpf_u_int32netmask)str指定的規(guī)章整合到fp過濾程序中去,并生成過濾程序入口地址,用于過濾選擇期望的數(shù)據(jù)報。參數(shù)說明:pcap_t*p:pcap_open_live返回的數(shù)據(jù)報捕獲的指針;structbpf_program*fp:pcap_compile函數(shù)中被賦值;char*str:該字符串規(guī)定過濾規(guī)章;intoptimize:規(guī)定了在結果代碼上的選擇是否被執(zhí)行;bpf_u_int32netmask:該網(wǎng)卡的子網(wǎng)掩碼,可以通過pcap_lookupnet獵?。环祷刂担?假設成功執(zhí)行,返回0,否則返回-1;過濾規(guī)章由一個或多個(primitive)組成,假設為””則表示不進展任何過濾.原語通常由一個(id,名稱或數(shù)字),和標識前面的一個或多個修飾子(qualifier)組成.修飾子有三種不同的類型:typedirproto

類型修飾子指出標識名稱或標識數(shù)字代表什么類型的東西.能夠使用的類型有host,net和port.例如,`hostfoo”,`net128.3”,`port20”.假設不指定類型修飾子,就使用缺省的host.方向修飾子指出相對于標識的傳輸方向(數(shù)據(jù)是傳入還是傳出標識).能夠使用的方向有src,dstsrcordst和srcanddst`srcfoo”,`dstnet128.3”,`srcordstportftp-data”.不指定方向修飾子,就使用缺省的srcordst對于`null”鏈路層(就是說象slip之類的點到點協(xié)議),用inbound和outbound修飾子指定所需的傳輸方向.etherfddiiparprarpdecnetlat,scamoprc,mopdl,tcp和udp.例如,`ethersrcfoo”,`arpnet128.3”,`tcpport21”.不指定協(xié)議修飾子,就使用任何符合類型的協(xié)議.例如,`srcfoo”指`(ip或arp或rarp)srcfoo”`netbar”指`(ip或arp或rarp)netbar”,`port53”指`(tcp或udp)port53”.[`fddi”實際上是`ether”的別名;分析器把他們視為``用在指定網(wǎng)絡接口上的數(shù)據(jù)鏈路層.””FDDI報頭包含類似于以太協(xié)議的源目地址,而且通常包含類似于以太協(xié)議的報文類型,因此您能夠過濾FDDI域,就象分析以太協(xié)議一樣.FDDI報頭也包含其他域,但是您不能在過濾器表達式里顯式描述.]作為上述的補充,有一些特別的`原語”關鍵字,他們不同于上面的模式:gateway,broadcast,less,greater和數(shù)學表達式.這些在后面有表達.更簡潔的過濾器表達式能夠通過and,or和not連接原語來組建.例如,`hostfooandnotportftpandnotportftp-data”.`tcpdstportftporftp-dataordomain”實際上就是`tcpdstportftportcpdstportftp-dataortcpdstportdomain”.允許的原語有:dsthosthost假設報文中IP的目的地址域是host,則規(guī)律為真.host既能夠是地址,也能夠是主機名.srchosthost假設報文中IP的源地址域是host,則規(guī)律為真.hosthost假設報文中IP的源地址域或目的地址域是host,則規(guī)律為真.上面任何的host表達式都能夠加上ip,arp,或rarp關鍵字做前綴,就象:iphosthost他等價于:etherproto\ipandhosthost假設host是擁有多個IP地址的主機名,他的每個地址都會被查驗.etherdstehost假設報文的以太目的地址是ehost,則規(guī)律為真.Ehost既能夠是名字(/etc/ethers里有),也能夠是數(shù)字(有關數(shù)字格式另見ethers(3N)).ethersrcehost假設報文的以太源地址是ehost,則規(guī)律為真.etherhostehost假設報文的以太源地址或以太目的地址是ehost,則規(guī)律為真.gatewayhost假設報文把host當做網(wǎng)關,則規(guī)律為真.也就是說,報文的以太源或目的地址是host,但是IP的源目地址都不是host.host必需是個主機名,而且必需存在/etc/hosts和/etc/ethers中.(一個等價的表達式是etherhostehostandnothosthost對于host/ehostdstnetnet假設報文的IP目的地址屬于網(wǎng)絡號net,則規(guī)律為真.net既能夠是名字(存在/etc/networks中),也能夠是網(wǎng)絡號.(詳見networks(4)).srcnetnet假設報文的IP源地址屬于網(wǎng)絡號net,則規(guī)律為真.netnet假設報文的IP源地址或目的地址屬于網(wǎng)絡號net,則規(guī)律為真.netnetmaskmask假設IP地址匹配指定網(wǎng)絡掩碼(netmask)的net,則規(guī)律為真.本原語能夠用src或dst修飾.netnet/len假設IP地址匹配指定網(wǎng)絡掩碼的net,則規(guī)律為真,掩碼的有效位寬為len.本原語能夠用src或dst修飾.dstportport假設報文是ip/tcp或ip/udp,并且目的端口是port,則規(guī)律為真.port是個數(shù)字,也能夠是/etc/services中說明過的名字(參看tcp(4P)和udp(4P)).假設使用名字,則檢查端dstport513將顯示tcp/login的數(shù)據(jù)和udp/who的數(shù)據(jù),而portdomain將顯示tcp/domain和udp/domain的數(shù)據(jù)).srcportport假設報文的源端口號是port,則規(guī)律為真.portportport,則規(guī)律為真.上述的任意一個端口表達式都能夠用關鍵字tcp或udp做前綴,就象:tcpsrcportport他只匹配源端口是port的TCP報文.lesslength假設報文的長度小于等于length,則規(guī)律為真.他等同于:len<=length.greaterlength假設報文的長度大于等于length,則規(guī)律為真.他等同于:len>=length.ipprotoprotocol假設報文是IP數(shù)據(jù)報(參見ip(4P)),其內容的協(xié)議類型是protocol,則規(guī)律為真.Protocol能夠是數(shù)字,也能夠是以下名稱中的一個:icmp,igrp,udp,nd,或tcp.留意這些標識符tcp,udp,和icmp也同樣是關鍵字,所以必需用反斜杠(\)轉義,在C-shell中應當是\.etherbroadcast假設報文是以太播送報文,則規(guī)律為真.關鍵字ether是可選的.ipbroadcast假設報文是IP播送報文,則規(guī)律為真.Tcpdump檢查全0和全1播送商定,并且檢查本地的子網(wǎng)掩碼.ethermulticast假設報文是以太多目傳送報文(multicast),則規(guī)律為真.關鍵字ether是可選的.這實際上是`ether[0]&1!=0”的簡寫.ipmulticast假設報文是IP多目傳送報文,則規(guī)律為真.etherprotoprotocol假設報文協(xié)議屬于以太類型的protocol,則規(guī)律為真.Protocol能夠是數(shù)字,也能夠是名字,如ip,arp,或rarp.留意這些標識符也是關鍵字,所以必需用反斜杠(\)轉義假設是FDDI例如,`fddiprotocolarp”),協(xié)議標識來自802.2規(guī)律鏈路把握(LLC)報頭,他通常位于FDDI報頭的頂層.當依據(jù)協(xié)議標識過濾報文時,Tcpdump假設任何的FDDI報文含有LLC報頭,而且LLC報頭用的是SNAP格式.]decnetsrchost假設DECNET的源地址是host,則規(guī)律為真,該主機地址的形式可能是``10.123””,或是DECNET主機名.[只有配置成運行DECNET的Ultrix系統(tǒng)支持DECNET主機名.]decnetdsthost假設DECNET的目的地址是host,則規(guī)律為真.decnethosthost假設DECNET的源地址或目的地址是host,則規(guī)律為真.ip,arp,rarp,decnet是:etherprotop的簡寫形式,其中p為上述協(xié)議的一種.lat,moprc,mopdl是:etherprotop的簡寫形式,其中p為上述協(xié)議的一種.留意tcpdump現(xiàn)在不知道如何分析這些協(xié)議.tcp,udp,icmp是:ipprotop的簡寫形式,其中p為上述協(xié)議的一種.exprrelopexpr假設這個關系成立,則規(guī)律為真,其中relop是>,<,>=,<=,=,!=之一,expr是數(shù)學表達式,由常整數(shù)(標準C語法形式),一般的二進制運算符[,-,*,/,&,|],一個長度運算符,和指定的報文數(shù)據(jù)訪問算符組成.要訪問報文內的數(shù)據(jù),使用下面的語法:proto[expr:size]Proto是ether,fddi,ip,arp,rarp,tcp,udp,oricmp之一,同時也指出了下標操作的協(xié)議層.expr給出字節(jié)單位的偏移量,該偏移量相對于指定的協(xié)議層.Size是可選項,指出感興趣的字節(jié)數(shù);他能夠是1,2,4,缺省為1字節(jié).由關鍵字len給出的長度運算符指明報文的長度.例如,`ether[0]&10`ip[0]&0xf5可選域的IP報文.表達式`ip[6:2]&0x1fff=00的數(shù)據(jù)報.這種檢查隱含在tcp和udp下標操作中.例如,tcp[0]確定是TCP報頭的第一個字節(jié),而不是其中某個IP原語能夠用下述方法結合使用:園括弧括起來的原語和操作符(園括弧在Shell中有專用,所以必需轉義).取反操作(`!”or`not”).連結操作(`&&”or`and”).或操作(`||”or`or”).取反操作有最高優(yōu)先級.或操作和連結操作有一樣的優(yōu)先級,運算時從左到右結合.留意連結操作需要顯式的and假設給出標識符,但沒給關鍵字,那么暗指最近使用的關鍵字.例如,nothostvsandace作為nothostvsandhostace的簡寫形式,不應當和not(hostvsorace)混淆.表達式參數(shù)能夠作為單個參數(shù)傳給tcpdump,也能夠作為復合參數(shù),后者更便利一些.一般說來,假設表達式包含Shell元字符(metacharacter),傳遞單個括起來的參數(shù)要簡潔一些.復合參數(shù)在被解析前用空格聯(lián)接一起.(EXAMPLES)顯示任何進出sundown的報文:hostsundown顯示helios和主機hot,ace之間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論