国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站橫幅廣告怎么做網(wǎng)站建設(shè)軟件

網(wǎng)站橫幅廣告怎么做,網(wǎng)站建設(shè)軟件,門戶網(wǎng)站建設(shè)管理總則,廣州安全教育平臺軟件目錄 前言:BPF伯克利包過濾器介紹1.BPF語法(tcpdump語法)2.邏輯運(yùn)算符3.常用的原子條件1. 協(xié)議相關(guān)的原子條件2. 地址相關(guān)的原子條件3. 端口相關(guān)的原子條件4. 網(wǎng)絡(luò)層和鏈路層(mac地址)原子條件5. 廣播和多播6. VLAN 相關(guān)的原子條件…

目錄

  • 前言:BPF伯克利包過濾器介紹
  • 1.BPF語法(tcpdump語法)
  • 2.邏輯運(yùn)算符
  • 3.常用的原子條件
      • 1. 協(xié)議相關(guān)的原子條件
      • 2. 地址相關(guān)的原子條件
      • 3. 端口相關(guān)的原子條件
      • 4. 網(wǎng)絡(luò)層和鏈路層(mac地址)原子條件
      • 5. 廣播和多播
      • 6. VLAN 相關(guān)的原子條件
      • 7. 特定字段大小過濾
      • 8. 基于TCP標(biāo)記的過濾
      • 9. ICMP 類型過濾
      • 10. MPLS 過濾
      • 11. PPPoE 過濾
      • 12. ISO OSI 過濾
      • 13. Token Ring 過濾
      • 14. 帶寬過濾
      • @組合示例
  • 4.tcpdump常用選項
      • Ⅰ.基本選項
      • Ⅱ.高級選項
      • @組合選項示例
  • @綜合示例
    • 詳解篇
      • 示例 1:捕獲特定主機(jī)的 HTTP GET 請求并保存到文件
      • 示例 2:捕獲 VLAN 10 中所有的 TCP SYN 數(shù)據(jù)包,并顯示詳細(xì)信息
      • 示例 3:捕獲所有入方向的 ICMP 數(shù)據(jù)包,并顯示數(shù)據(jù)包內(nèi)容
      • 示例 4:捕獲所有源 MAC 地址為特定地址的 TCP FIN 數(shù)據(jù)包
      • 示例 5:捕獲并顯示特定 IP 地址的 UDP 流量,包括十六進(jìn)制內(nèi)容
      • 示例 6:捕獲 HTTP POST 請求,并顯示數(shù)據(jù)包內(nèi)容
      • 示例 7:捕獲特定端口范圍的 UDP 流量,并設(shè)置捕獲緩沖區(qū)大小
      • 示例 8:捕獲所有 TCP 連接終止過程中的數(shù)據(jù)包(包括 FIN 和 RST 數(shù)據(jù)包)
    • 簡潔篇
      • 示例 1:捕獲 HTTP 和 HTTPS 流量并保存到文件
      • 示例 2:捕獲特定網(wǎng)絡(luò)內(nèi)的所有 TCP 數(shù)據(jù)包,并顯示詳細(xì)信息
      • 示例 3:捕獲并解密 IPsec 流量
      • 示例 4:捕獲并實時顯示所有包含特定字符串的 HTTP 流量
      • 示例 5:捕獲所有帶有 SYN 和 ACK 標(biāo)志的 TCP 數(shù)據(jù)包
      • 示例 6:捕獲特定 VLAN 中的 ICMP 數(shù)據(jù)包,并將輸出顯示為 ASCII 格式
      • 示例 7:捕獲特定端口范圍的 UDP 流量,并設(shè)置捕獲緩沖區(qū)大小
      • 示例 8:捕獲并顯示時間戳差異的 TCP 數(shù)據(jù)包
      • 示例 9:捕獲來自特定主機(jī)的 DNS 查詢和響應(yīng)
      • 示例 10:捕獲所有廣播和多播數(shù)據(jù)包,并顯示鏈路層信息
  • 總結(jié)

前言:BPF伯克利包過濾器介紹

維基百科:https://zh.wikipedia.org/wiki/BPF Berkeley Packet Filter (BPF)
是一種用于捕獲和過濾網(wǎng)絡(luò)數(shù)據(jù)包的技術(shù),廣泛用于網(wǎng)絡(luò)分析工具中 BPF 的主要應(yīng)用
1. 網(wǎng)絡(luò)數(shù)據(jù)包過濾   tcpdump 和 Wireshark
使用 BPF 來捕獲和過濾網(wǎng)絡(luò)數(shù)據(jù)包,只顯示感興趣的流量。 tcpdump ‘tcp port 80’
2. 入侵檢測和防御 Snort 和 Suricata:使用 BPF 過濾數(shù)據(jù)包,提高入侵檢測系統(tǒng)的效率。 snort -i eth0 ‘tcp port 80’
3. 高性能網(wǎng)絡(luò) pfSense 和 Open vSwitch:使用 BPF 進(jìn)行流量監(jiān)控和優(yōu)化網(wǎng)絡(luò)性能。 ovs-vsctl – set Bridge br0 netflow=@nf – --id=@nf create NetFlow
targets=“127.0.0.1:2055” active-timeout=30
4. eBPF 的擴(kuò)展應(yīng)用 eBPF(extended BPF)是 BPF 的擴(kuò)展版本,提供了更強(qiáng)大的功能和更廣泛的應(yīng)用場景。 系統(tǒng)性能監(jiān)控和調(diào)試:bpftrace:用于實時系統(tǒng)跟蹤和性能分析。 bpftrace -e
‘kprobe:do_sys_open { printf(“%s\n”, str(arg1)); }’
網(wǎng)絡(luò)安全和可觀察性:Cilium:用于 Kubernetes 環(huán)境的網(wǎng)絡(luò)安全和可觀察性。 cilium policy
trace --src-ip 10.0.0.1 --dst-ip 10.0.0.2 運(yùn)行時安全檢測:Falco:利用 eBPF
來檢測和響應(yīng)系統(tǒng)中的異常行為。 falco -r rules/falco_rules.yaml -c
/etc/falco/falco.yaml


1.BPF語法(tcpdump語法)

tcpdump [options] [filter expression]
  • options:tcpdump 的命令行選項,用于控制捕獲行為。
  • filter expression:BPF 過濾表達(dá)式,用于定義數(shù)據(jù)包過濾條件。
  • 過濾表達(dá)式由一個或多個原子條件和邏輯運(yùn)算符組成,用于定義哪些數(shù)據(jù)包應(yīng)該被捕獲。
    • 常見原子條件:協(xié)議、主機(jī)&網(wǎng)絡(luò)(源目地址&源目網(wǎng)絡(luò))、端口…

這里和正常的Linux shell語法不一致



2.邏輯運(yùn)算符

通過組合這些原子條件和邏輯運(yùn)算符,可以構(gòu)建復(fù)雜的過濾表達(dá)式。邏輯運(yùn)算符包括:

  • and&&:邏輯與運(yùn)算。
  • or||:邏輯或運(yùn)算。
  • not!:邏輯非運(yùn)算。


3.常用的原子條件

tcpdump 的過濾表達(dá)式中,除了前面提到的協(xié)議、主機(jī)、網(wǎng)絡(luò)和端口等基本原子條件外,還有許多其他原子條件可以幫助你更精確地捕獲特定類型的數(shù)據(jù)包。以下是一些常用的原子條件及其詳細(xì)解釋:

1. 協(xié)議相關(guān)的原子條件

  • ip:捕獲所有 IPv4 數(shù)據(jù)包。

    tcpdump ip
    
  • ip6:捕獲所有 IPv6 數(shù)據(jù)包。

    tcpdump ip6
    
  • tcp:捕獲所有 TCP 數(shù)據(jù)包。

    tcpdump tcp
    
  • udp:捕獲所有 UDP 數(shù)據(jù)包。

    tcpdump udp
    
  • icmp:捕獲所有 ICMP 數(shù)據(jù)包。

    tcpdump icmp
    
  • icmp6:捕獲所有 ICMPv6 數(shù)據(jù)包。

    tcpdump icmp6
    
  • arp:捕獲所有 ARP 數(shù)據(jù)包。

    tcpdump arp
    
  • rarp:捕獲所有 RARP 數(shù)據(jù)包。

    tcpdump rarp
    
  • 協(xié)議IP協(xié)議版本過濾

    tcpdump ip #捕獲IPv4數(shù)據(jù)包
    tcpdump ip6 #捕獲IPv6數(shù)據(jù)包tcpdump ip and tcp # 捕獲 IPv4 上的 TCP 數(shù)據(jù)包
    tcpdump ip6 and tcp # 捕獲 IPv6 上的 TCP 數(shù)據(jù)包tcpdump ip host 192.168.1.1 # 捕獲特定 IPv4 地址的所有數(shù)據(jù)包
    tcpdump ip6 host 2001:db8::1 # 捕獲特定 IPv6 地址的所有數(shù)據(jù)包tcpdump ip and udp # 捕獲 IPv4 上的 UDP 數(shù)據(jù)包
    tcpdump ip6 and udp # 捕獲 IPv6 上的 UDP 數(shù)據(jù)包tcpdump 'ip and icmp' #捕獲IPv4的ICMP數(shù)據(jù)包:
    tcpdump 'ip6 and icmp6' #捕獲IPv6的ICMP數(shù)據(jù)包:tcpdump 'ip and net 192.168.1.0/24' #捕獲IPv4的指定網(wǎng)絡(luò)的數(shù)據(jù)包:
    tcpdump 'ip6 and net 2001:db8::/32' #捕獲IPv6的指定網(wǎng)絡(luò)的數(shù)據(jù)包:tcpdump 'ip and src 192.168.1.1 and dst port 443' -w ipv4_https_traffic.pcap #捕獲IPv4上指定源地址和目的端口的數(shù)據(jù)包,并保存到文件
    tcpdump 'ip6 and src 2001:db8::1 and dst port 443' -vv#捕獲IPv6上指定源地址和目的端口的數(shù)據(jù)包,并顯示詳細(xì)信息
    

2. 地址相關(guān)的原子條件

  • host:捕獲來自或發(fā)送到指定主機(jī)的數(shù)據(jù)包。

    tcpdump host 192.168.1.1
    
  • src host:捕獲來自指定源主機(jī)的數(shù)據(jù)包。

    tcpdump src host 192.168.1.1
    
  • dst host:捕獲發(fā)送到指定目標(biāo)主機(jī)的數(shù)據(jù)包。

    tcpdump dst host 192.168.1.2
    
  • net:捕獲來自或發(fā)送到指定網(wǎng)絡(luò)的數(shù)據(jù)包。

    tcpdump net 192.168.1.0/24
    
  • src net:捕獲來自指定源網(wǎng)絡(luò)的數(shù)據(jù)包。

    tcpdump src net 192.168.1.0/24
    
  • dst net:捕獲發(fā)送到指定目標(biāo)網(wǎng)絡(luò)的數(shù)據(jù)包。

    tcpdump dst net 192.168.1.0/24
    

3. 端口相關(guān)的原子條件

  • port:捕獲指定端口的數(shù)據(jù)包。

    tcpdump port 80
    
  • src port:捕獲來自指定源端口的數(shù)據(jù)包。

    tcpdump src port 1024
    
  • dst port:捕獲發(fā)送到指定目標(biāo)端口的數(shù)據(jù)包。

    tcpdump dst port 443
    
  • portrange:捕獲指定端口范圍的數(shù)據(jù)包。

    tcpdump portrange 8000-8080
    

4. 網(wǎng)絡(luò)層和鏈路層(mac地址)原子條件

  • ether:捕獲以太網(wǎng)幀相關(guān)的數(shù)據(jù)包。

    tcpdump ether
    
  • ether src:捕獲來自指定源 MAC 地址的數(shù)據(jù)包。

    tcpdump ether src 00:11:22:33:44:55
    
  • ether dst:捕獲發(fā)送到指定目標(biāo) MAC 地址的數(shù)據(jù)包。

    tcpdump ether dst 00:11:22:33:44:55
    
  • ether host:捕獲來自或發(fā)送到指定 MAC 地址的數(shù)據(jù)包。

    tcpdump ether host 00:11:22:33:44:55
    

5. 廣播和多播

  • broadcast:捕獲所有廣播數(shù)據(jù)包。

    tcpdump broadcast
    
  • multicast:捕獲所有多播數(shù)據(jù)包。

    tcpdump multicast
    

6. VLAN 相關(guān)的原子條件

  • vlan:捕獲所有 VLAN 數(shù)據(jù)包。

    tcpdump vlan
    
  • vlan [vlan_id]:捕獲指定 VLAN ID 的數(shù)據(jù)包。

    tcpdump vlan 10
    

7. 特定字段大小過濾

  • less:捕獲小于指定字節(jié)長度的數(shù)據(jù)包。

    tcpdump 'less 64'
    
  • greater:捕獲大于指定字節(jié)長度的數(shù)據(jù)包。

    tcpdump 'greater 128'
    

8. 基于TCP標(biāo)記的過濾

  • tcp-flags:捕獲具有特定 TCP 標(biāo)志的數(shù)據(jù)包。
    • SYN:捕獲所有帶 SYN 標(biāo)志的數(shù)據(jù)包。
      tcpdump 'tcp[tcpflags] & tcp-syn != 0'
      
    • SYN-ACK:捕獲所有帶 SYN 和 ACK 標(biāo)志的數(shù)據(jù)包。
      tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-ack) == (tcp-syn|tcp-ack)'
      

9. ICMP 類型過濾

  • icmp[icmptype]:捕獲特定類型的 ICMP 數(shù)據(jù)包。
    • echo request(ping 請求)
      tcpdump 'icmp[icmptype] = icmp-echo'
      
    • echo reply(ping 回復(fù))
      tcpdump 'icmp[icmptype] = icmp-echoreply'
      

10. MPLS 過濾

  • mpls:捕獲所有 MPLS 數(shù)據(jù)包。

    tcpdump 'mpls'
    
  • mpls [label]:捕獲指定 MPLS 標(biāo)簽的數(shù)據(jù)包。

    tcpdump 'mpls 100'
    

11. PPPoE 過濾

  • pppoes:捕獲所有 PPPoE 會話數(shù)據(jù)包。
    tcpdump 'pppoes'
    

12. ISO OSI 過濾

  • iso:捕獲所有 ISO 網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包。

    tcpdump 'iso'
    
  • clnp:捕獲所有 CLNP(Connectionless Network Protocol)數(shù)據(jù)包。

    tcpdump 'clnp'
    

13. Token Ring 過濾

  • tr:捕獲所有 Token Ring 數(shù)據(jù)包。

    tcpdump 'tr'
    
  • tr [protocol]:捕獲指定 Token Ring 協(xié)議的數(shù)據(jù)包。

    tcpdump 'tr 0x0800'
    

14. 帶寬過濾

  • tcp-keepalive:捕獲所有 TCP keepalive 數(shù)據(jù)包。

    tcpdump 'tcp[tcpflags] & tcp-keepalive != 0'
    
  • tcp-segment:捕獲所有 TCP 段。

    tcpdump 'tcp-segment'
    


@組合示例

  1. 捕獲所有來自 192.168.1.1 并發(fā)送到端口 80 的 TCP 數(shù)據(jù)包

    tcpdump 'src host 192.168.1.1 and dst port 80 and tcp'
    
  2. 捕獲所有 IPv4 和 IPv6 上的 HTTP 和 HTTPS 流量

    tcpdump '(ip or ip6) and (tcp port 80 or tcp port 443)'
    
  3. 捕獲所有來自網(wǎng)絡(luò) 192.168.1.0/24 的 UDP 數(shù)據(jù)包,但排除端口 53(DNS)

    tcpdump 'src net 192.168.1.0/24 and udp and not port 53'
    
  4. 捕獲所有廣播和多播數(shù)據(jù)包

    tcpdump 'broadcast or multicast'
    
  5. 捕獲所有 VLAN 10 中大于 128 字節(jié)的 TCP 數(shù)據(jù)包

    tcpdump 'vlan 10 and tcp and greater 128'
    
  6. 捕獲所有帶 SYN 和 ACK 標(biāo)志的 IPv6 TCP 數(shù)據(jù)包

    tcpdump 'ip6 and tcp[tcpflags] & (tcp-syn|tcp-ack) == (tcp-syn|tcp-ack)'
    
  7. 捕獲所有 MPLS 標(biāo)簽為 100 的 UDP 數(shù)據(jù)包

    tcpdump 'mpls 100 and udp'
    
  8. 捕獲所有 PPPoE 會話中的 IPv4 數(shù)據(jù)包

    tcpdump 'pppoes and ip'
    
  9. 捕獲所有 ISO 網(wǎng)絡(luò)協(xié)議中的 CLNP 數(shù)據(jù)包

    tcpdump 'iso and clnp'
    


4.tcpdump常用選項

Ⅰ.基本選項

  1. -i interface:指定要監(jiān)聽的網(wǎng)絡(luò)接口。

    tcpdump -i eth0
    
    • 默認(rèn)情況下,tcpdump 會選擇第一個非環(huán)回接口。
    • 可以通過 -D 選項列出所有接口:
      tcpdump -D
      
  2. -c count:捕獲指定數(shù)量的數(shù)據(jù)包后停止。

    tcpdump -c 100
    
  3. -w file:將捕獲的數(shù)據(jù)包保存到文件。

    tcpdump -w capture.pcap
    
  4. -r file:從文件中讀取并分析數(shù)據(jù)包。

    tcpdump -r capture.pcap
    
  5. -nn:不將地址和端口轉(zhuǎn)換為名稱。

    tcpdump -nn
    
    • -n:不將地址轉(zhuǎn)換為名稱(主機(jī)名)。
    • -nn:不將地址和端口轉(zhuǎn)換為名稱。
  6. -v, -vv, -vvv:設(shè)置詳細(xì)輸出的級別。

    tcpdump -v   # 較詳細(xì)
    tcpdump -vv  # 更詳細(xì)
    tcpdump -vvv # 最詳細(xì)
    
  7. -X:以十六進(jìn)制和 ASCII 格式顯示每個包的數(shù)據(jù)。

    tcpdump -X
    
  8. -e:顯示鏈路層頭信息。

    tcpdump -e
    
  9. -tt:顯示時間戳,不格式化。

    tcpdump -tt
    
  10. -ttt:顯示時間戳,以微秒為單位,相對于上一個數(shù)據(jù)包的時間差。

    tcpdump -ttt
    
  11. -tttt:顯示人類可讀的時間戳格式。

    tcpdump -tttt
    
  12. -s snaplen:設(shè)置數(shù)據(jù)包截取長度(捕獲的每個數(shù)據(jù)包的最大字節(jié)數(shù))。

    tcpdump -s 128
    
    • 默認(rèn)值為 68 或 96,足以捕獲 IP 和 TCP/UDP 頭
    • 0 表示完整的數(shù)據(jù)包內(nèi)容
  13. -A:以 ASCII 格式顯示數(shù)據(jù)包內(nèi)容。

    tcpdump -A
    
  14. -C file_size:設(shè)置捕獲文件的大小上限(以 MB 為單位),達(dá)到上限后創(chuàng)建新文件。

    tcpdump -C 10 -w capture
    
  15. -G seconds:設(shè)置捕獲文件的時間上限(以秒為單位),達(dá)到上限后創(chuàng)建新文件。

    tcpdump -G 60 -w capture
    
  16. -W file_count:設(shè)置保存捕獲文件的最大數(shù)量。

    tcpdump -W 10 -G 60 -w capture
    
  17. -E spi@ipaddr algo:secret:指定解密 IPsec 數(shù)據(jù)包的參數(shù)。

    tcpdump -E 100@192.168.1.1 des3:0x0123456789ABCDEF
    
  18. -Q:用于選擇捕獲的數(shù)據(jù)包的方向

    tcpdump -Q directiontcpdump -Q in 'tcp' # 捕獲并顯示所有入方向的 TCP 數(shù)據(jù)包
    tcpdump -Q out -w http_out.pcap 'tcp port 80' # 捕獲并保存出方向的 HTTP 流量到文件				
    tcpdump -Q inout -v 'icmp' # 捕獲所有入方向和出方向的 ICMP 數(shù)據(jù)包,并顯示詳細(xì)信息
    tcpdump -Q in 'udp and host 192.168.1.100' # 捕獲特定主機(jī)的入方向 UDP 流量
    tcpdump -Q out 'vlan 10' # 捕獲 VLAN 10 的出方向數(shù)據(jù)包
    

    in:僅捕獲入方向的數(shù)據(jù)包(接收的數(shù)據(jù)包)。
    out:僅捕獲出方向的數(shù)據(jù)包(發(fā)送的數(shù)據(jù)包)。
    inout:捕獲入方向和出方向的數(shù)據(jù)包(所有數(shù)據(jù)包)。

Ⅱ.高級選項

  1. -B buffer_size:設(shè)置捕獲緩沖區(qū)大小(以 KB 為單位)。

    tcpdump -B 4096
    
  2. -K:禁用數(shù)據(jù)包的校驗和驗證。

    tcpdump -K
    
  3. -S:顯示絕對序列號(對于 TCP 數(shù)據(jù)包)。

    tcpdump -S
    
  4. -j tstamp_type:設(shè)置數(shù)據(jù)包時間戳類型。

    tcpdump -j adapter
    
  5. -l:將標(biāo)準(zhǔn)輸出設(shè)置為行緩沖模式。

    tcpdump -l
    
  6. -U:實時寫入捕獲文件。

    tcpdump -U -w capture.pcap
    
  7. -Z user:在捕獲文件打開后切換用戶。

    tcpdump -Z nobody
    
  8. -F file:從文件中讀取過濾表達(dá)式。

    tcpdump -F filter_file
    

@組合選項示例

  1. 捕獲并保存所有 TCP 數(shù)據(jù)包,保存到文件,文件大小上限為 10 MB,每 60 秒切換文件,最多保存 5 個文件

    tcpdump -i eth0 -w capture -C 10 -G 60 -W 5 tcp
    
  2. 以詳細(xì)模式捕獲端口 80 上的 HTTP 流量,并顯示數(shù)據(jù)包內(nèi)容的 ASCII 和十六進(jìn)制格式

    tcpdump -i eth0 -vv -X port 80
    
  3. 捕獲 VLAN 10 中的所有數(shù)據(jù)包,并將標(biāo)準(zhǔn)輸出設(shè)置為行緩沖模式

    tcpdump -i eth0 -l vlan 10
    
  4. 捕獲并解密 IPsec 數(shù)據(jù)包,使用指定的密鑰

    tcpdump -i eth0 -E 100@192.168.1.1 des3:0x0123456789ABCDEF
    
  5. 設(shè)置捕獲緩沖區(qū)大小為 4 MB,并捕獲所有 UDP 數(shù)據(jù)包

    tcpdump -i eth0 -B 4096 udp
    


@綜合示例

詳解篇

下面是一些綜合使用 tcpdump 選項、原子條件和邏輯運(yùn)算符的示例,這些示例展示了如何結(jié)合這些元素來實現(xiàn)復(fù)雜的捕獲和分析需求。

示例 1:捕獲特定主機(jī)的 HTTP GET 請求并保存到文件

tcpdump -i eth0 -A -s 0 -w http_get_requests.pcap 'tcp port 80 and (((ip[2:2] - ((ip[0] & 0xf)<<2)) - ((tcp[12] & 0xf0)>>2)) != 0) and tcp[((tcp[12] & 0xf0)>>2):4] = 0x47455420 and host 192.168.1.100'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • -A:以 ASCII 格式顯示數(shù)據(jù)包內(nèi)容。
  • -s 0:捕獲完整的數(shù)據(jù)包。
  • -w http_get_requests.pcap:將數(shù)據(jù)包保存到文件。
  • ‘tcp port 80 and … and host 192.168.1.100’:過濾條件,捕獲特定主機(jī)的 HTTP GET 請求。
    • ip[2:2]:IP 數(shù)據(jù)包的總長度字段(2 個字節(jié)),IP 頭部的第 2 和第 3 字節(jié)表示數(shù)據(jù)包的總長度。
    • ip[0] & 0xf:IP 頭長度字段。IP 頭部的第 1 字節(jié)的低 4 位表示 IP 頭的長度(單位是 32 位字)
    • tcp[12] & 0xf0:TCP 頭長度字段。TCP 頭部的第 13 字節(jié)的高 4 位表示 TCP 頭的長度(單位是 32 位字)
    • 0x47455420:ASCII 碼 "GET " 的十六進(jìn)制表示。

示例 2:捕獲 VLAN 10 中所有的 TCP SYN 數(shù)據(jù)包,并顯示詳細(xì)信息

tcpdump -i eth0 -nn -vv 'vlan 10 and tcp[tcpflags] & tcp-syn != 0'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • -nn:不解析主機(jī)名和端口號。
  • -vv:顯示詳細(xì)的包頭信息。
  • ‘vlan 10 and tcp[tcpflags] & tcp-syn != 0’:過濾條件,捕獲 VLAN 10 中所有 TCP SYN 數(shù)據(jù)包。

示例 3:捕獲所有入方向的 ICMP 數(shù)據(jù)包,并顯示數(shù)據(jù)包內(nèi)容

tcpdump -i eth0 -Q in -X 'icmp'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • -Q in:捕獲入方向的數(shù)據(jù)包。
  • -X:以十六進(jìn)制和 ASCII 格式顯示數(shù)據(jù)包內(nèi)容。
  • ‘icmp’:過濾條件,捕獲所有 ICMP 數(shù)據(jù)包。

示例 4:捕獲所有源 MAC 地址為特定地址的 TCP FIN 數(shù)據(jù)包

tcpdump -i eth0 'ether src 00:11:22:33:44:55 and tcp[tcpflags] & tcp-fin != 0'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • ‘ether src 00:11:22:33:44:55 and tcp[tcpflags] & tcp-fin != 0’:過濾條件,捕獲所有源 MAC 地址為特定地址的 TCP FIN 數(shù)據(jù)包。

示例 5:捕獲并顯示特定 IP 地址的 UDP 流量,包括十六進(jìn)制內(nèi)容

tcpdump -i eth0 -nn -X 'udp and host 192.168.1.100'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • -nn:不解析主機(jī)名和端口號。
  • -X:以十六進(jìn)制和 ASCII 格式顯示數(shù)據(jù)包內(nèi)容。
  • ‘udp and host 192.168.1.100’:過濾條件,捕獲特定 IP 地址的 UDP 流量。

示例 6:捕獲 HTTP POST 請求,并顯示數(shù)據(jù)包內(nèi)容

tcpdump -i eth0 -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0] & 0xf)<<2)) - ((tcp[12] & 0xf0)>>2)) != 0) and tcp[((tcp[12] & 0xf0)>>2):4] = 0x504f5354'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • -A:以 ASCII 格式顯示數(shù)據(jù)包內(nèi)容。
  • -s 0:捕獲完整的數(shù)據(jù)包。
  • ‘tcp port 80 and …’:過濾條件,捕獲 HTTP POST 請求。

示例 7:捕獲特定端口范圍的 UDP 流量,并設(shè)置捕獲緩沖區(qū)大小

tcpdump -i eth0 -B 4096 'udp portrange 8000-8080'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • -B 4096:設(shè)置捕獲緩沖區(qū)大小為 4 MB。
  • ‘udp portrange 8000-8080’:過濾條件,捕獲特定端口范圍的 UDP 流量。

示例 8:捕獲所有 TCP 連接終止過程中的數(shù)據(jù)包(包括 FIN 和 RST 數(shù)據(jù)包)

tcpdump -i eth0 'tcp[tcpflags] & (tcp-fin|tcp-rst) != 0'
  • -i eth0:指定網(wǎng)絡(luò)接口 eth0。
  • ‘tcp[tcpflags] & (tcp-fin|tcp-rst) != 0’:過濾條件,捕獲所有 TCP 連接終止過程中的數(shù)據(jù)包。

簡潔篇

示例 1:捕獲 HTTP 和 HTTPS 流量并保存到文件

需求:捕獲所有通過端口 80 和 443 的 HTTP 和 HTTPS 流量,將捕獲的數(shù)據(jù)包保存到文件 http_https_traffic.pcap,每個文件的大小上限為 10 MB,每 60 秒切換文件,最多保存 5 個文件。

tcpdump -i eth0 -w http_https_traffic.pcap -C 10 -G 60 -W 5 'tcp port 80 or tcp port 443'

示例 2:捕獲特定網(wǎng)絡(luò)內(nèi)的所有 TCP 數(shù)據(jù)包,并顯示詳細(xì)信息

需求:捕獲來自網(wǎng)絡(luò) 192.168.1.0/24 的所有 TCP 數(shù)據(jù)包,顯示詳細(xì)的包頭信息和內(nèi)容。

tcpdump -i eth0 -nn -vv -X 'tcp and net 192.168.1.0/24'

示例 3:捕獲并解密 IPsec 流量

需求:捕獲并解密 IPsec 數(shù)據(jù)包,使用特定的密鑰進(jìn)行解密。

tcpdump -i eth0 -E 100@192.168.1.1 des3:0x0123456789ABCDEF 'esp'

示例 4:捕獲并實時顯示所有包含特定字符串的 HTTP 流量

需求:捕獲并實時顯示所有 HTTP 流量,并在包內(nèi)容中搜索特定字符串 “password”。

tcpdump -i eth0 -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0) and tcp[((tcp[12]&0xf0)>>2):4] = 0x70617373'

示例 5:捕獲所有帶有 SYN 和 ACK 標(biāo)志的 TCP 數(shù)據(jù)包

需求:捕獲所有帶有 SYN 和 ACK 標(biāo)志的 TCP 數(shù)據(jù)包,以監(jiān)視網(wǎng)絡(luò)中的新連接建立。

tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-ack) == (tcp-syn|tcp-ack)'

示例 6:捕獲特定 VLAN 中的 ICMP 數(shù)據(jù)包,并將輸出顯示為 ASCII 格式

需求:捕獲 VLAN ID 為 10 的所有 ICMP 數(shù)據(jù)包,并以 ASCII 格式顯示包內(nèi)容。

tcpdump -i eth0 -A 'vlan 10 and icmp'

示例 7:捕獲特定端口范圍的 UDP 流量,并設(shè)置捕獲緩沖區(qū)大小

需求:捕獲端口范圍 8000 到 8080 的所有 UDP 流量,并將捕獲緩沖區(qū)大小設(shè)置為 4 MB,以防止丟包。

tcpdump -i eth0 -B 4096 'udp portrange 8000-8080'

示例 8:捕獲并顯示時間戳差異的 TCP 數(shù)據(jù)包

需求:捕獲所有 TCP 數(shù)據(jù)包,并顯示數(shù)據(jù)包之間的時間戳差異,以微秒為單位。

tcpdump -i eth0 -ttt 'tcp'

示例 9:捕獲來自特定主機(jī)的 DNS 查詢和響應(yīng)

需求:捕獲來自主機(jī) 192.168.1.1 的所有 DNS 查詢和響應(yīng)。

tcpdump -i eth0 'host 192.168.1.1 and port 53'

示例 10:捕獲所有廣播和多播數(shù)據(jù)包,并顯示鏈路層信息

需求:捕獲所有廣播和多播數(shù)據(jù)包,并顯示鏈路層頭信息。

tcpdump -i eth0 -e '(broadcast or multicast)'

總結(jié)

  1. 選項順序:在命令行中,選項通常出現(xiàn)在過濾條件之前。
  2. 過濾條件的使用:過濾條件需要用單引號 ' 或雙引號 " 包圍,以避免 shell 對其進(jìn)行錯誤解析。
  3. 捕獲緩沖區(qū):使用 -B 選項設(shè)置捕獲緩沖區(qū)大小,以防止丟包。
  4. 對于http: 使用 -A 選項是以 ASCII 格式顯示數(shù)據(jù)包的內(nèi)容。因為 HTTP 是一種基于文本的協(xié)議,其請求和響應(yīng)內(nèi)容都是可讀的文本。通過使用 -A 選項,可以直接在終端中看到 HTTP 請求和響應(yīng)的詳細(xì)內(nèi)容
  5. 更為復(fù)雜的話,可以使用tcpdump保存抓包文件,然后Linux版本的tshark圖形化頁面分析和過濾
http://m.aloenet.com.cn/news/40565.html

相關(guān)文章:

  • 坦洲網(wǎng)站建設(shè)公司哪家好拉新app渠道
  • 澳門建設(shè)銀行官方網(wǎng)站湖南優(yōu)化推廣
  • 公安網(wǎng)站備案服務(wù)類型萬江專業(yè)網(wǎng)站快速排名
  • 網(wǎng)站備案用座機(jī)租用重慶百度總代理
  • 企業(yè)網(wǎng)站模板優(yōu)化寧波seo排名外包公司
  • 北京網(wǎng)站備案號qq空間刷贊網(wǎng)站推廣
  • 疫情防控最新消息數(shù)據(jù)網(wǎng)站怎么優(yōu)化
  • 鎮(zhèn)江網(wǎng)站建設(shè)遠(yuǎn)航科技網(wǎng)站seo推廣營銷
  • 網(wǎng)站建設(shè)公司特色武漢seo人才
  • 新網(wǎng)站百度收錄北京疫情又嚴(yán)重了
  • 做二手衣服的網(wǎng)站有哪些關(guān)鍵詞歌詞圖片
  • wordpress 微信掃碼seo排名優(yōu)化推廣報價
  • 十大永久免費(fèi)污染軟件東莞seo搜索
  • 建設(shè)銀行的投訴網(wǎng)站推廣文案
  • 設(shè)計師個人網(wǎng)站網(wǎng)絡(luò)推廣渠道公司
  • 365元做網(wǎng)站網(wǎng)絡(luò)營銷的發(fā)展趨勢
  • 代做安裝預(yù)算的網(wǎng)站青島網(wǎng)站建設(shè)
  • 怎么自己的電腦做網(wǎng)站服務(wù)器百度廣告代理商
  • 網(wǎng)站運(yùn)營推廣方案云南百度公司
  • 網(wǎng)站ico圖標(biāo) 代碼搜索引擎排名中國
  • 上的網(wǎng)站app上海百度公司總部
  • 女同性怎么做的視頻網(wǎng)站軟文有哪些發(fā)布平臺
  • 合肥seo優(yōu)化安徽網(wǎng)站關(guān)鍵詞優(yōu)化
  • 虛擬主機(jī)網(wǎng)站淘客網(wǎng)站建設(shè)b站推廣軟件
  • 網(wǎng)站備案之前需要建好網(wǎng)站嗎windows優(yōu)化大師要會員
  • 教育網(wǎng)站怎么做如何推廣一個項目
  • 長春企業(yè)網(wǎng)站模板建站域名解析ip
  • css做購物網(wǎng)站的分類目錄搜索引擎優(yōu)化搜索優(yōu)化
  • 做地方旅游網(wǎng)站目的意義正規(guī)的教育培訓(xùn)機(jī)構(gòu)有哪些
  • 中華人民共和國城鄉(xiāng)與建設(shè)部網(wǎng)站長沙seo優(yōu)化推薦