1. tcpmp 協議過濾哪些協議
tcpmp 協議過濾
作為業界標準的捕獲工具,tcpmp提供了強大而又靈活的包過濾功回能。作為tcpmp基礎答的libpcap包捕獲引擎支持標準的包過濾規則,如基於5重包頭的過濾(如基於源/目的IP地址/埠和IP協議類型)。
tcpmp/libpcap的包過濾規則也支持更多通用分組表達式,在這些表達式中,包中的任意位元組范圍都可以使用關系或二進制操作符進行檢查。對於位元組范圍表達,你可以使用以下格式:
proto [ expr : size ]
「proto」可以是熟知的協議之一(如ip,arp,tcp,udp,icmp,ipv6),「expr」表示與指定的協議頭開頭相關的位元組偏移量。有我們熟知的直接偏移量如tcpflags,也有取值常量如tcp-syn,tcp-ack或者tcp-fin。「size」是可選的,表示從位元組偏移量開始檢查的位元組數量。
使用這種格式,你可以像下面這樣過濾TCP SYN,ACK或FIN包。
2. 數據包,數據報文,數據幀之間的關系
一、數據幀(Frame):數據鏈路層,傳遞的單位是frame 幀,就是數據鏈路層的協議數據單元,包括三部分
1、幀頭,裡面有mac地址,通過這個地址可以在底層的交換機這個層面里順著網線找到你的計算機。
2、數據部分,ip數據包,意思是使用ip地址定位的一個數據包。
3、幀尾。其中,幀頭和幀尾包含一些必要的控制信息,比如同步信息、地址信息、差錯控制信息等;數據部分則包含網路層傳下來的數據,比如ip數據包。
二、數據包(Packet):TCP/IP協議通信傳輸中的數據單位,處於網路層,在區域網中,「包」是包含在「幀」里的。packet是整個tcpip通信協議里網路層的傳輸單位,也是最小的單位。
有著目的地的ip地址及其來源的ip地址和其他的校驗信息。它也被稱為頭。來自傳輸層託付給自己待傳送的信息。這個信息會被分成多個ip數據包發送出去。所以網路層傳遞的是ip包,ip包里是待傳輸消息的一部分。
三、數據報(Datagram):現在來到傳輸層了,傳輸層直接接受來自你的消息,小到給朋友發個晚安,大到給別人傳遞個文件,只要提供對方的ip地址(還有埠號),其它的都交給傳輸層幫助實現。
這兩種協議都會在發送前把你的消息拆分成多個ip數據包來傳輸。udp英文就叫 user datagram protocol。所以數據報是啥,就是帶地址的消息。
(2)tcp幀頭幀尾過濾擴展閱讀:
1、據報是不能比數據幀大的,數據幀根據不同網路(無線有線)長度會有所區別,數據包(一塊數據)進行為網路層傳輸時會進行判別,如果長過是網路層要進行分片,成為數據報。
2、假設要傳輸一個UDP數據包,乙太網的MTU為1500位元組,一般IP首部為20位元組,UDP首部為8位元組,數據的凈荷(payload)部分預留是1500-20-8=1472位元組。如果數據部分大於1472位元組,就會出現分片現象。
3、IP分片發生在IP層,不僅源端主機會進行分片,中間的路由器也有可能分片,因為不同的網路的MTU是不一樣的,如果傳輸路徑上的某個網路的MTU比源端網路的MTU要小,路由器就可能對IP數據報再次進行分片。而分片數據的重組只會發生在目的端的IP層。
4、TCP:對於TCP數據,在建立連接的三次握手的過程中,連接雙方會相互通告MSS(Maximum Segment Size,最大報文段長度),MSS一般是MTU—IP首部(20)—TCP首部(20),每次發送的TCP數據都不會超過雙方MSS的最小值,所以就保證了IP數據報不會超過MTU,避免了IP分片。