Wireshark TCP v8.0

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Machine Translated by Google

Wireshark Lab:
TCP v8.0
ภาคเสริมเกียวกับ ระบบเครือข่ายคอมพิวเตอร์: วิธจ
ี ากบนลงล่าง,8th
ed.,JF Kurose และ KW Ross

“บอกฉันแล้
วฉันก็
ลืม แสดงให้
ฉันเห็
นและฉันจํ
าได้
เกียวข้
องกับฉันและฉันเข้
าใจ”
สุ
ภาษิตจีน

© 2005-2020,JF Kurose และ KW Ross สงวนลิขสิทธิ

ในแล็
บนี เราจะตรวจสอบพฤติกรรมของโปรโตคอล TCP ทีมีชอเสี
ื ยงโดยละเอียด เราจะดํ
าเนินการดังกล่าวโดยการวิเคราะห์รอ
่ ง
รอยของส่วน TCP ทีส่งและรับในการถ่ายโอนไฟล์ขนาด 150KB (
ซึ
งมีขอ
้ความของ การผจญภัยของอลิซในแดนมหัศจรรย์ของ
Lewis Carrol)จากคอมพิวเตอร์ของคุ
ณ ไปยังเซิรฟ
์ เวอร์ระยะไกล เราจะศึ
กษาการใช้
ลํ
าดับและหมายเลขตอบรับของ TCP เพือ
การถ่ายโอนข้
อมูลทีเชือถือได้
เราจะเห็
นอัลกอริธม
ึการควบคุ
มความคับคังของ TCP - การเริมต้
นช้
าและการหลีกเลียงความ
คับคัง - ในการดํ
าเนินการ และเราจะดูทีกลไกการควบคุ
มการไหลของผูร้บ
ั โฆษณาของ TCP นอกจากนี เราจะพิจารณา
การตังค่าการเชือมต่อ TCP โดยสังเขป และเราจะตรวจสอบประสิทธิภาพ (
ปริมาณงานและเวลาไป-กลับ)ของการเชือมต่อ
TCP ระหว่างคอมพิวเตอร์ของคุ
ณ และเซิรฟ
์ เวอร์

ก่อนเริมแล็
บนี คุ
ณ อาจต้
องการทบทวนส่วนที 3.5 และ 3.7 ใน text1

1. บันทึกการถ่ายโอน TCP จํ
านวนมากจากคอมพิวเตอร์ของคุ
ณ ไปยังระยะไกล
เซิรฟ
์ เวอร์

ก่อนทีจะเริมการสํ
ารวจ TCP เราจํ
าเปนต้
องใช้
Wireshark เพือรับการติดตามแพ็
กเก็
ตของการถ่ายโอน TCP ของไฟล์จาก
คอมพิวเตอร์ของคุ
ณ ไปยังเซิรฟ
์ เวอร์ระยะไกล คุ
ณ จะทํ
าได้
โดยการเข้
าถึ
งหน้
าเว็
บทีจะให้
คณ
ุปอนชือไฟล์ทีจัดเก็
บไว้
ในคอมพิวเตอร์
ของคุ
ณ(ซึ
งมีขอ
้ความ ASCII ของ อลิซในแดนมหัศจรรย์)จากนันถ่ายโอนไฟล์ไปยังเว็
บเซิรฟ
์ เวอร์โดยใช้
วธ
ิ ก
ี าร HTTP
POST (
ดูหวั ข้
อ 2.2.3 ในข้
อความ)เราใช้
วธ
ิ ี POST แทนวิธ ี GET เนืองจากเราต้
องการถ่ายโอนข้
อมูลจํ
านวนมาก จาก
คอมพิวเตอร์ของคุ
ณ ไปยังคอมพิวเตอร์เครืองอืน แน่นอนเราจะวิง

Wireshark ในช่วงเวลานีเพือรับร่องรอยของส่วน TCP ทีส่งและรับจากคอมพิวเตอร์ของคุ


ทํ
าดังต่อไปนี:

1
การอ้
างอิงถึ
งตัวเลขและส่วนต่างๆ มาจาก ข้
อความของเราฉบับ ที 8 เรือง Computer Networks,A Top-down Approach,8th ed.,JF
Kurose and KW Ross,Addison-Wesley/Pearson,2020
Machine Translated by Google

• เริมต้
นเว็
บเบราว์เซอร์ของคุ
ณ ไปที http://gaia.cs.umass.edu/wireshark
labs/alice.txt และรับสํ
าเนา ASCII ของ อลิซในแดนมหัศจรรย์ เก็
บไฟล์นีไว้
ทีใดทีหนึ
งในคอมพิวเตอร์ของคุ

• ถัดไป ไปที http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html


• คุ
ณ ควรเห็
นหน้
าจอทีมีลักษณะดังนี:

• ใช้
ปุ
ม เรียกดู ในแบบฟอร์มนีเพือปอนชือไฟล์ (
ชือพาธแบบเต็
ม)บนคอมพิวเตอร์ของคุ
ณ ทีมี อลิซในแดนมหัศจรรย์ (
หรือ
ปอนด้
วยตนเอง)อย่าเพิงกด ปุ
ม “อัพโหลดไฟล์ alice.txt”

• ตอนนีให้
เริมต้
น Wireshark และเริมการจับแพ็
กเก็
ต(Capture->Start)จากนันกด OK บนหน้
าจอ Wireshark Packet
Capture Options (
เราไม่จาํ
เปนต้
องเลือกตัวเลือกใดๆ ทีนี)

• กลับไปทีเบราว์เซอร์ของคุ
ณ กด ปุ
ม “อัปโหลดไฟล์ alice.txt” เพืออัปโหลดไฟล์ไปยังเซิรฟ
์ เวอร์ gaia.cs.umass.edu เมือ
อัปโหลดไฟล์แล้
ว ข้
อความแสดงความยินดีสน
ั ๆ จะแสดงในหน้
าต่างเบราว์เซอร์ของคุ

• หยุ
ดการจับแพ็ กเก็
ต Wireshark หน้
าต่าง Wireshark ของคุ
ณ ควรมีลักษณะคล้
ายกับ
หน้าต่างทีแสดงด้านล่าง
Machine Translated by Google

หากคุ
ณ ไม่สามารถเรียกใช้
Wireshark บนการเชือมต่อเครือข่ายแบบสด คุ
ณ สามารถดาวน์โหลดไฟล์ติดตามแพ็
กเก็
ตที
บันทึ
กขณะทํ
าตามขันตอนด้
านบนบนคอมพิวเตอร์เครืองใดเครืองหนึ
งของผูเ้
ขียน2 คุ
ณ อาจพบว่าการดาวน์โหลดการติดตามนีมี
ประโยชน์ แม้
วา่ คุ
ณ จะบันทึ
กร่องรอยของคุ
ณ เองและใช้
มน
ั รวมทังร่องรอยของคุ
ณ เอง เมือคุ
ณ สํ
ารวจคํ
าถามด้
าน
ล่าง

2. ดูครังแรกทีร่องรอยทีจับได้

ก่อนทีจะวิเคราะห์ลักษณะการทํ
างานของการเชือมต่อ TCP โดยละเอียด เรามาพิจารณาการติดตามในระดับสูงกันก่อน

• ขันแรก กรองแพ็
กเก็
ตทีแสดงในหน้
าต่าง Wireshark โดยปอน “tcp” (
ตัวพิมพ์เล็
ก ไม่มเี ครืองหมายอัญประกาศ
และอย่าลืมกด return หลังจากปอน!)ลงในหน้
าต่างข้
อมูลจํ
าเพาะตัวกรองการแสดงผลทีด้
านบนของหน้
าต่าง
Wireshark

สิงทีคุ
ณ ควรเห็
นคือชุ
ดข้
อความ TCP และ HTTP ระหว่างคอมพิวเตอร์ของคุ
ณ และ gaia.cs.umass.edu คุ
ณ ควรเห็
นการจับ
มือสามทางเริมต้
นทีมีขอ
้ความ SYN คุ
ณ ควรเห็
นข้
อความ HTTP POST แล้
วแต่รน

่ ของ

2
ดาวน์โหลดไฟล์ zip http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip และแตกไฟล์ tcp ethereal-trace-1 ร่องรอยในไฟล์
zip นีรวบรวมโดย Wireshark ทีทํ
างานบนคอมพิวเตอร์เครืองหนึ
งของผูเ้
ขียน ขณะทีดํ
าเนินการตามขันตอนทีระบุ
ในห้
องปฏิบต
ั ิการ Wireshark
เมือคุ
ณ ดาวน์โหลดการติดตามแล้
ว คุ
ณ สามารถโหลดลงใน Wireshark และดูการติดตามโดยใช้
เมนูแบบดึ
งลง ของไฟล์ เลือก เปด จากนันเลือก
ไฟล์การติดตาม tcp-ethereal-trace-1
Machine Translated by Google

Wireshark ทีคุ
ณ ใช้
คุ
ณ อาจเห็
นชุ
ดข้
อความ “HTTP Continuation” ถูกส่งจากคอมพิวเตอร์ของคุ
ณ ไปที gaia.cs.umass.edu
จํ
าได้
จากการสนทนาของเราในแล็
บ HTTP Wireshark ก่อนหน้
านี ซึ
งไม่ใช่ขอ
้ความ HTTP Continuation – นีเปนวิธข
ี อง
Wireshark ในการระบุ
วา่ มีการใช้
TCP หลายกลุ
่มเพือส่งข้
อความ HTTP เดียว ใน Wireshark เวอร์ชน
ั ล่าสุ
ด คุ
ณ จะเห็

“[ส่วน TCP ของ PDU ทีประกอบขึ
นใหม่]” ในคอลัมน์ขอ
้มูลของจอแสดงผล Wireshark เพือระบุ
วา่ ส่วน TCP นีมีขอ
้มูลทีเปน
ของข้
อความโปรโตคอลชันบน (
ในกรณีของเราทีนี HTTP)คุ
ณ ควรเห็
นส่วน TCP ACK ถูกส่งกลับจาก gaia.cs.umass.edu
ไปยังคอมพิวเตอร์ของคุ

ตอบคํ
าถามต่อไปนีโดยเปดไฟล์แพ็
กเก็
ตทีบันทึ
กโดย Wireshark tcp ethereal-trace-1 ใน http://
gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip (
นันคือการดาวน์โหลดการติดตามและเปดการติดตามนัน
ใน Wireshark โปรดดูเชิงอรรถ 2)เมือใดก็
ตามทีเปนไปได้
เมือตอบคํ
าถาม คุ
ณ ควรส่งแพ็
คเก็
ตทีพิมพ์ออกมาภายในร่องรอยที
คุ
ณ ใช้
ในการตอบคํ
าถามทีถาม ใส่คํ
าอธิบายประกอบในเอกสารทีพิมพ์ออกมา 3 เพืออธิบายคํ
าตอบของคุ
ณ หากต้
องการพิมพ์แพ็

เก็
ต ให้
ใช้
File->Print เลือก แพ็
กเก็
ตทีเลือกเท่านัน เลือก บรรทัดสรุ
ปแพ็
กเก็
ต และเลือกจํ
านวนรายละเอียดแพ็
กเก็

ขันตํ
าทีคุ
ณ ต้
องการเพือตอบคํ
าถาม

1. ทีอยู่ IP และหมายเลขพอร์ต TCP ทีใช้


โดยคอมพิวเตอร์ไคลเอนต์ (
ต้
นทาง)ทีถ่ายโอนไฟล์ไปยัง gaia.cs.umass.edu
คืออะไร ในการตอบคํ
าถามนี อาจเปนวิธท
ี ีง่ายทีสุ
ดในการเลือกข้
อความ HTTP และสํ
ารวจรายละเอียดของแพ็

เก็
ต TCP ทีใช้
สง
่ ข้
อความ HTTP นี โดยใช้
"รายละเอียดของหน้
าต่างส่วนหัวของแพ็
กเก็
ตทีเลือก"(
โปรดดูรูปที 2
ในแล็
บ"การเริมต้
นใช้
งาน Wireshark"หากคุ
ณ ไม่แน่ใจเกียวกับหน้
าต่าง Wireshark

2. ทีอยู่ IP ของ gaia.cs.umass.edu คืออะไร? หมายเลขพอร์ตใดทีส่งและรับ TCP เซ็


กเมนต์สาํ
หรับการเชือมต่อนี

หากคุ
ณ สามารถสร้
างร่องรอยของคุ
ณ เองได้
ให้
ตอบคํ
าถามต่อไปนี:

3. ทีอยู่ IP และหมายเลขพอร์ต TCP ทีคอมพิวเตอร์ไคลเอนต์ของคุ


ณ ใช้
(ต้
นทาง)เพือถ่ายโอนไฟล์ไปยัง
gaia.cs.umass.edu คืออะไร

เนืองจากแล็
บนีเกียวกับ TCP มากกว่า HTTP มาเปลียนหน้
าต่าง "
รายการแพ็
กเก็
ตทีจับได้
"ของ Wireshark เพือให้
แสดงข้
อมูลเกียวกับส่วน TCP ทีมีขอ
้ความ HTTP แทนทีจะเกียวกับข้
อความ HTTP หากต้
องการให้
Wireshark
ทํ
าเช่นนี เลือก วิเคราะห์->เปดใช้
งานโปรโตคอล จากนันยกเลิกการเลือกช่อง HTTP และเลือก ตกลง ตอนนีคุ

ควรเห็
นหน้
าต่าง Wireshark ทีมีลักษณะดังนี:

3
เราหมายถึ
งอะไรโดย "
คําอธิบายประกอบ"
? หากคุ
ณ ส่งสํ
าเนาทีเปนกระดาษ โปรดเน้
นจุ
ดทีคุ
ณ พบคํ
าตอบในเอกสารทีพิมพ์ออกมา และเพิม
ข้
อความ (
ควรใช้
ปากกาสี)โดยสังเกตว่าคุ
ณ พบอะไรในสิงทีคุ
ณ เน้
น หากคุ
ณ ส่งสํ
าเนาอิเล็
กทรอนิกส์ จะเปนการดีมากหากคุ
ณ สามารถเน้
นและใส่คํ
าอธิบาย
ประกอบได้
ด้
วย
Machine Translated by Google

นีคือสิงทีเรากํ
าลังมองหา ชุ
ดของกลุ
่ม TCP ทีส่งระหว่างคอมพิวเตอร์ของคุ
ณ และ gaia.cs.umass.edu เราจะใช้
การติดตาม
แพ็
กเก็
ตทีคุ
ณ บันทึ
กไว้
(และ/หรือการติดตามแพ็
กเก็
ต tcp-ethereal-trace-1 ใน http://gaia.cs.umass.edu/wireshark-
labs/wireshark traces.zip; ดูเชิงอรรถก่อนหน้
า)เพือศึ
กษาพฤติกรรมของ TCP ในส่วนทีเหลือของแล็
บนี

3. พืนฐานของ TCP

ตอบคํ
าถามต่อไปนีสํ
าหรับกลุ
่ม TCP:

4. หมายเลขลํ
าดับของเซ็
กเมนต์ TCP SYN ทีใช้
เพือเริมต้
นการเชือมต่อ TCP ระหว่างไคลเอ็
นต์คอมพิวเตอร์และ
gaia.cs.umass.edu คืออะไร อะไรในส่วนทีระบุ
สว่ นเปนกลุ
่ม SYN?

5. หมายเลขลํ
าดับของส่วน SYNACK ทีส่งโดย gaia.cs.umass.edu ไปยังคอมพิวเตอร์ไคลเอ็
นต์เพือตอบกลับ SYN คือ
อะไร ค่าของฟลด์ตอบรับในส่วน SYNACK คืออะไร gaia.cs.umass.edu กํ
าหนดค่านันอย่างไร
อะไรอยูใ่ นเซ็
กเมนต์ทีระบุ
เซ็
กเมนต์เปนเซ็
กเมนต์ SYNACK

6. หมายเลขลํ
าดับของส่วน TCP ทีมี HTTP POST คืออะไร
สังการ? โปรดทราบว่าหากต้
องการค้
นหาคํ
าสัง POST คุ
ณ จะต้
องเจาะลึ
กเข้
าไปในช่องเนือหาแพ็
กเก็
ตทีด้
านล่างของ
หน้
าต่าง Wireshark โดยมองหาส่วนทีมี “POST” ภายในช่อง DATA

7. พิจารณาส่วน TCP ทีมี HTTP POST เปนส่วนแรกในการเชือมต่อ TCP หมายเลขลํ


าดับของหกส่วนแรกคืออะไร
Machine Translated by Google

การเชือมต่อ TCP (
รวมถึ
งส่วนทีมี HTTP POST)
? แต่ละส่วนส่งเวลาใด ACK ของแต่ละส่วนได้
รบ
ั เมือใด

เมือพิจารณาถึ
งความแตกต่างระหว่างเวลาทีแต่ละเซ็
กเมนต์ TCP ถูกส่งและเมือได้
รบ
ั การตอบรับ ค่า RTT สํ
าหรับ
แต่ละเซ็
กเมนต์ทังหกจะเปนเท่าใด ค่า EstimatedRTT คืออะไร (
ดูขอ
้ความในส่วน 3.5.3 หน้
า 242)หลัง
จากได้
รบ
ั ACK แต่ละรายการ สมมติวา่ ค่าของ EstimatedRTT เท่ากับ RTT ทีวัดได้
สาํ
หรับส่วนแรก จากนันจะ
คํ
านวณโดยใช้
สมการ EstimatedRTT ในหน้
า 242 สํ
าหรับส่วนถัดไปทังหมด

หมายเหตุ
: Wireshark มีคณ
ุสมบัติทีดีทีให้
คณ
ุวางแผน RTT สํ
าหรับแต่ละส่วน TCP ทีส่งไป เลือก
ส่วน TCP ในหน้
าต่าง “รายการของแพ็
กเก็
ตทีจับได้
” ทีถูกส่งจากไคลเอ็
นต์ไปยังเซิรฟ
์ เวอร์
gaia.cs.umass.edu จากนันเลือก: สถิติ->TCP Stream Graph-

> กราฟเวลาไปกลับ
8. แต่ละส่วน TCP หกส่วนแรกมีความยาวเท่าใด4
9. จํ
านวนขันตํ
าของพืนทีบัฟเฟอร์ทีโฆษณาทีได้
รบ
ั สํ
าหรับการติดตามทังหมดคือเท่าใด การไม่มพ
ี นที
ื บัฟเฟอร์ของผูร้บ
ั ทํ
าให้
ผูส
้ง่ เค้
นหรือไม่?

10. มีสว่ นทีส่งต่อซํ


าในไฟล์การติดตามหรือไม่ คุ
ณ ตรวจสอบอะไร (
ใน
ร่องรอย)เพือตอบคํ
าถามนี?
11. โดยปกติผรู้บ
ั รับทราบข้
อมูลเท่าใดใน ACK? คุ
ณ สามารถระบุ
กรณีทีผูร้บ
ั กํ
าลัง ACKing ทุ
กส่วนทีได้
รบ
ั (
ดูตาราง
3.2 ในหน้
า 250 ในข้
อความ)

12. ปริมาณงาน (
ไบต์ทีถ่ายโอนต่อหน่วยเวลา)สํ
าหรับการเชือมต่อ TCP คืออะไร?
อธิบายว่าคุ
ณ คํ
านวณค่านีอย่างไร

4
เซ็
กเมนต์ TCP ในไฟล์การติดตาม tcp-ethereal-trace-1 มีขนาดน้
อยกว่า 1460 ไบต์ทังหมด นีเปนเพราะคอมพิวเตอร์ทีรวบรวมการติดตามมี
การ์ดอีเธอร์เน็
ตทีจํ
ากัดความยาวของแพ็
กเก็
ต IP สูงสุ
ดไว้
ที 1500 ไบต์ (
40 ไบต์ของข้
อมูลส่วนหัว TCP/IP และ 1460 ไบต์ของ TCP payload)ค่า
1500 ไบต์นีเปนความยาวสูงสุ
ดมาตรฐานทีอีเทอร์เน็
ตอนุ
ญาต หากการติดตามของคุ
ณ ระบุ
ความยาวของ TCP ทีมากกว่า 1500 ไบต์ และ
คอมพิวเตอร์ของคุ
ณ กํ
าลังใช้
การเชือมต่ออีเทอร์เน็
ต แสดงว่า Wireshark กํ
าลังรายงานความยาวของส่วน TCP ทีไม่ถก
ู ต้
อง นอกจากนียังมีแนว
โน้
มทีจะแสดงส่วน TCP ขนาดใหญ่เพียงส่วนเดียวแทนทีจะเปนส่วนเล็
ก ๆ หลายส่วน คอมพิวเตอร์ของคุ
ณ อาจส่งเซกเมนต์ขนาดเล็
กหลายเซ็
กเมนต์ตาม
ทีระบุ
โดย ACKs ทีได้
รบ
ั ความไม่สอดคล้
องกันของความยาวเซ็
กเมนต์ทีรายงานนีเกิดจากการโต้
ตอบระหว่างไดรเวอร์อีเทอร์เน็
ตและซอฟต์แวร์
Wireshark เราขอแนะนํ
าว่าหากคุ
ณ มีความไม่สอดคล้
องกันนี ให้
คณ
ุดํ
าเนินการในแล็
บนีโดยใช้
ไฟล์การติดตามทีให้
มา
Machine Translated by Google

4. การดํ
าเนินการควบคุ
มความแออัดของ TCP

ตอนนีเรามาตรวจสอบจํ
านวนข้
อมูลทีส่งต่อหน่วยเวลาจากไคลเอนต์ไปยังเซิรฟ
์ เวอร์
แทนทีจะ (
น่าเบือ!)คํ
านวณสิงนีจากข้
อมูลดิบในหน้
าต่าง Wireshark เราจะใช้
หนึ
งในยูทิลิตีการสร้
างกราฟ TCP ของ
Wireshark - ลํ
าดับเวลา-กราฟ (
สตีเวนส์)- เพือวางแผนข้
อมูล

• เลือกส่วน TCP ในหน้


าต่าง “รายการของแพ็
กเก็
ตทีจับได้
” ของ Wireshark
จากนันเลือกเมนู : Statistics->TCP Stream Graph-> Time-Sequence Graph(
Stevens)คุ

ควรเห็
นพล็
อตทีมีลักษณะคล้
ายกับพล็
อตต่อไปนี ซึ
งสร้
างขึ
นจากแพ็
กเก็
ตทีจับได้
ในแพ็
กเก็
ตทีติดตาม tcp-
ethereal trace-1 ใน http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip (
ดูเชิงอรรถ
ก่อนหน้
า):

ทีนี แต่ละจุ
ดแสดงถึ
งส่วน TCP ทีส่งไป โดยวางแผนหมายเลขลํ
าดับของส่วนเทียบกับเวลาทีส่ง โปรดทราบว่าชุ

ของจุ
ดทีซ้
อนกันอยูเ่ หนือแต่ละชุ
ดนันแสดงถึ
งชุ
ดของแพ็
กเก็
ตทีผูส
้ง่ ส่งกลับไปกลับมา
Machine Translated by Google

ตอบคํ
าถามต่อไปนีสํ
าหรับกลุ
่ม TCP การติดตามแพ็
กเก็
ต tcp-ethereal trace-1 ใน http://gaia.cs.umass.edu/
wireshark-labs/wireshark-traces.zip
13. ใช้
เครืองมือการลง จุ
ดกราฟลํ
าดับเวลา (
สตีเวนส์)เพือดูหมายเลขลํ
าดับเทียบกับเวลาของเซ็
กเมนต์ทีส่งจาก
ไคลเอนต์ไปยังเซิรฟ
์ เวอร์ gaia.cs.umass.edu คุ
ณ สามารถระบุ
ได้
วา่ ระยะเริมต้
นช้
าของ TCP เริม
ต้
นและสินสุ
ดทีใด และการหลีกเลียงความแออัดเกิดขึ
นทีใด แสดงความคิดเห็
นเกียวกับวิธท
ี ีข้
อมูลทีวัดได้
แตกต่าง
จากพฤติกรรมในอุ
ดมคติของ TCP ทีเราศึ
กษาในข้
อความ

14. ตอบคํ
าถามสองข้
อข้
างต้
นสํ
าหรับการติดตามทีคุ
ณ รวบรวมได้
เมือคุ
ณ โอนไฟล์จากคอมพิวเตอร์ของคุ
ณ ไปยัง
gaia.cs.umass.edu

You might also like