日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

tcpdump必知必会

發布時間:2023/11/16 windows 47 coder
生活随笔 收集整理的這篇文章主要介紹了 tcpdump必知必会 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  1. tcpdump原理 & 在tcp協議棧的位置
  2. tcpdump用法
  • 基于協議、主機、端口過濾
  • 使用and or邏輯運算符做復雜的過濾操作
  • tcpdump flags

1. tcpdump原理

linux中非常有用的網絡工具,運行在用戶態


數據包到達網卡,經過數據包過濾器bpf篩選后,拷貝至用戶態的tcpdump程序。

tcpdump抓包

“抓” 這個動作是由數據包過濾器bpf完成, bpf的主要作用就是根據用戶輸入的過濾規則,直將用戶關心的數據包拷貝至tcpdump。注意是拷貝,不是剪切。

面試題: 某些數據包被iptables封禁,是否可通過tcpdump抓包?

linux中netfilter是工作在tcp協議棧階段, tcpdump的過濾器bpf是工作在更底層,所以當然是可以抓到包。

2. tcpdump常規用法

抓包上帝視角:

  • 可將tcpdump當做網絡請求的對端。
  • tcpdump 支持網絡層、協議、鑄就、網絡或端口的過濾,并提供and、or、not等邏輯語句來幫助過濾。

2.1抓包前置參數:

  • -D: 提供可以捕獲流量的設備列表
  • -c n:捕獲n個包后終止
  • -n: tcpdump默認會對(ip:port)轉換為主機名,影響抓包效率,-n可設置不做轉換,直接顯示ip地址;
  • -s 0 : 設置抓取(已經篩選出的數據包的)長度,如果不設置默認是68 字節,0 意味著tcpdump自動選擇合適的長度抓包;
  • -w: 抓取的內容輸出到文件
  • -r : 跟-w 是對應的,從文件讀取
  • -vvv :輸出詳細的*別

2.2 抓包篩選參數:

  • host: 過濾特定主機的流量,可填hostname或者ip;

注意:命令中的hostname會被解析成ip地址,如果解析出來的是vip(可能會作用到多個實際的業務Host),會抓取到非預期的數據包。

可以使用 src host 或者 dst host來抓取特定方向的流量。

tcpdump -n -i eth0 host janus.qa.xxxx.com -vvv -tttt

2023-11-08 14:37:48.478256 IP (tos 0x0, ttl 64, id 47134, offset 0, flags [DF], proto TCP (6), length 554)
    10.178.75.56.44054 > 10.98.21.3.http: Flags [P.], cksum 0x776b (incorrect -> 0x1251), seq 514:1028, ack 186, win 589, length 514: HTTP, length: 514
	POST /janus-api/api/agent/tasks HTTP/1.1
	Host: janus.qa.****.com
	User-Agent: Go-http-client/1.1
	Content-Length: 366
	Accept-Encoding: gzip

	{"groupId":"63fefa20b1e3c135612005c9","ip":"10.178.75.56","env":"qa","idc":"officeidc_hd2","tags":["10.178.75.56","officeidc_hd2","machine"],"lastTaskId":"202303210000000017","versionInfo":{"staticConfigVersionId":"v2023.03.20.004","autoConfigVersionId":"v2023.03.20.004","configVersionId":"0","status":true,"ipTime":"2019-12-04 01:06:06"},"lastTasks":{"status":[]}}[!http]
2023-11-08 14:37:48.520706 IP (tos 0x0, ttl 52, id 64787, offset 0, flags [DF], proto TCP (6), length 40)
    10.98.21.3.http > 10.178.75.56.44054: Flags [.], cksum 0xa1f6 (correct), seq 186, ack 1028, win 150, length 0
2023-11-08 14:37:48.523697 IP (tos 0x0, ttl 52, id 64788, offset 0, flags [DF], proto TCP (6), length 225)
    10.98.21.3.http > 10.178.75.56.44054: Flags [P.], cksum 0xb2f6 (correct), seq 186:371, ack 1028, win 150, length 185: HTTP, length: 185
	HTTP/1.1 200 OK
	Content-Type: application/json; charset=utf-8
	Content-Length: 38
	Connection: keep-alive
	Date: Wed, 08 Nov 2023 06:37:48 GMT

2023-11-08 14:37:48.523718 IP (tos 0x0, ttl 64, id 47135, offset 0, flags [DF], proto TCP (6), length 40)
    10.178.75.56.44054 > 10.98.21.3.http: Flags [.], cksum 0x7569 (incorrect -> 0x9f7e), seq 1028, ack 371, win 597, length 0
    
  • port : 指定抓取某個X端口的網絡數據包。

  • and or not邏輯運算符
    tcpdump -i eth0 “host redhat.com and (port 80 or port 443)”

  • tcp/udp: 過濾tcp/udp流量: tcpdump -i eth0 host janus.t.17usoft.com and tcp


2.3 tcpdump [Flags]

總結

以上是生活随笔為你收集整理的tcpdump必知必会的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。