การจับแพ็คเก็จของเครือข่าย
ในตัวอย่างด้านล่างเราจะใช้ tcpdump
ในการดูข้อมูลที่ถูกส่งผ่านเครือข่ายของแอปพลิเคชั่น workerman-chat
ผ่าน websocket
โดยแอปพลิเคชั่น workerman-chat
มีเซิร์ฟเวอร์ที่ให้บริการ websocket
ที่พอร์ต 7272
ดังนั้นเราจะจับแพ็คเกจที่ถูกส่งผ่านพอร์ต 7272
-
ให้ใช้คำสั่ง
tcpdump -Ans 4096 -iany port 7272
-
นำ URL นี้ไปวางในแถบที่อยู่ของเบราว์เซอร์
http://127.0.0.1:55151
-
ป้อนชื่อเล่นว่า
mynick
-
ในช่องข้อความพิมพ์
hi, all !
ข้อมูลที่ถูกจับแพ็คเกจสุดท้ายคือ:
/*
* การ handshake TCP ครั้งที่ 1
* พอร์ตด้านบนของเครื่องนี้ 60653 ส่งสัญญาณ SYN ไปยังพอร์ต 7272 ที่เครื่องนี้
*/
17:50:00.523910 IP 127.0.0.1.60653 > 127.0.0.1.7272: Flags [S], seq 3524290970, win 32768, options [mss 16396,sackOK,TS val 28679666 ecr 28679554,nop,wscale 7], length 0
E..<.h@.@.HQ...........h..i..........0....@....
............
...
(เนื้อหาส่วนอื่น ๆ ของแพ็คเกจที่ถูกจับ หลายบรรทัด)
...
หมายเหตุ:
- การได้รับข้อมูลบนพอร์ต
7272
แทนโดยสัญญาณ[S]
(การเริ่มต้นของการเชื่อมต่อ) - การโต้ตอบด้วยสัญญาณ
[.]
หมายความว่าได้รับคำขอจากฝั่งตรงข้ามแล้ว - การส่งข้อมูลถือเป็นสัญญาณ
[P]
[P.]
หมายถึง[P]
+[.]
หากข้อมูลที่ถูกส่งผ่านพอร์ตเป็นข้อมูลไบนารี สามารถใช้รหัสสิบหกกำหนดเพื่อแสดง tcpdump -XAns 4096 -iany port 7272