nttcp - ออนไลน์ในคลาวด์

นี่คือคำสั่ง nttcp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


nttcp - โปรแกรมทดสอบ TCP ใหม่

เรื่องย่อ


เอ็นทีซีพี [ ในประเทศ ตัวเลือก ] พันธมิตร-โฮสต์ [ พันธมิตร-โฮสต์ ] ... [ รีโมท ตัวเลือก ]

DESCRIPTION


พื้นที่ เอ็นทีซีพี โปรแกรมวัดอัตราการถ่ายโอน (และตัวเลขอื่น ๆ ) บน TCP, UDP หรือ UDP
การเชื่อมต่อแบบหลายผู้รับ ใช้ เอ็นทีซีพี คุณต้องจัดเตรียมไฟล์ปฏิบัติการในเครื่อง
เครื่องและบนเครื่องพันธมิตร บนเครื่องพันธมิตรเพียงแค่เริ่มต้น เอ็นทีซีพี กับ
ตัวเลือก -i. เริ่มด้วยวิธีนี้ เอ็นทีซีพี กำลังรอการเชื่อมต่อจากผู้อื่น เอ็นทีซีพีNS. บน
โฮสต์ท้องถิ่นเพียงแค่โทร เอ็นทีซีพี ด้วยชื่อของโฮสต์พันธมิตร มันจะติดต่อ เอ็นทีซีพี
เริ่มต้นบนเครื่องพันธมิตรและเริ่มการถ่ายโอน ตามค่าเริ่มต้นโปรแกรมจะถ่ายโอน
2048 บัฟเฟอร์ความยาว 4KByte (รวม 8 MByte) ไปยังโฮสต์ของพันธมิตร ทั้งสองด้าน
จะมีการวัดประสิทธิภาพและรายงานผลการวิจัย (ทั้งระยะไกลและในพื้นที่) บน
ด้านท้องถิ่น คุณสามารถเปลี่ยนเกือบทุกพารามิเตอร์ของการส่งข้อมูลผ่าน commandline
ตัวเลือก แม้จะพิมพ์ผลลัพธ์อะไรและอย่างไร

OPTIONS


-r กำหนดทิศทางการรับโอน ข้อมูลถูกส่งจากโฮสต์พันธมิตรไปยัง
โฮสต์ท้องถิ่น

-t กำหนดทิศทางการถ่ายโอนการส่ง ข้อมูลถูกส่งจากโลคัลโฮสต์ไปยัง
โฮสต์พันธมิตร นี่คือทิศทางเริ่มต้น

-T พิมพ์หัวเรื่อง

-u ใช้โปรโตคอล UDP แทน TCP (ซึ่งเป็นค่าเริ่มต้น)

-g ช่องว่างเวลาเป็นไมโครวินาทีระหว่างแพ็กเก็ต ความล่าช้านี้ดำเนินการผ่านการหมดเวลา
พารามิเตอร์ของ เลือก(2) และวนด้วย รับเวลาของวัน(2). ความถูกต้องของค่านี้
กำลังทำให้เข้าใจผิด เครื่องจักรส่วนใหญ่จะไม่สามารถหน่วงเวลาได้ตามจำนวนที่กำหนดอย่างแน่นอน
รหัสจะพยายามอย่างดีที่สุดเพื่อให้เกิดความล่าช้าที่ต้องการ สำหรับการเชื่อมต่อ TCP นี้
ตัวเลือกใช้เฉพาะการหน่วงเวลาระหว่าง เขียน(2) การเรียกระบบ มันไม่ใช่
หน่วงเวลาระหว่างเอาต์พุตจริงบนอุปกรณ์จริง

-v ให้ผลลัพธ์ที่มากขึ้นและละเอียด; มีประโยชน์สำหรับการดีบักเท่านั้น

-D ตั้งค่าตัวเลือก TCP_NODELAY บนซ็อกเก็ตการส่งสัญญาณ ด้วยชุดตัวเลือกนี้
ซ็อกเก็ตไม่บัฟเฟอร์คำขอเขียนใด ๆ

-f รูป เชือก
ระบุรูปแบบเอาต์พุตของคุณเอง ดู เอาท์พุท.

-n จำนวน of บัฟเฟอร์
จำนวนบัฟเฟอร์ที่กำหนดจะถูกเขียนไปยังซ็อกเก็ตการส่งสัญญาณ มัน
ค่าเริ่มต้นเป็น 2048

-l ความยาว of กันชน
ความยาวที่กำหนดจะกำหนดขนาดของบัฟเฟอร์หนึ่งรายการที่เขียนไปยังซ็อกเก็ตการส่งสัญญาณ
ค่าเริ่มต้นเป็น 4096

-x การแก้ไข ความยาว of ข้อมูล
ความยาวที่กำหนดจะกำหนดจำนวนข้อมูลที่จะโอน ภายหลัง
ที่ระบุไว้ -l or -n ตัวเลือกจะปรับค่าอื่นที่เกี่ยวข้องเพื่อให้
จำนวนบัฟเฟอร์และความยาวของบัฟเฟอร์คูณกับความยาวคงที่ที่กำหนด

-w จำนวน of กิโล ไบต์
กำหนดขนาดบัฟเฟอร์ของซ็อกเก็ตการส่งและรับ นี่คือระบบ
ขึ้นอยู่กับ; ปกติคือ 16K

-c หากมีตัวเลือกนี้ ฝั่งรับจะเปรียบเทียบไบต์ที่ได้รับกับ
แบบที่ฝ่ายส่งใช้ มากที่สุด 100 ความแตกต่างแรกจะเป็น
รายงาน หากการส่งผ่าน TCP รูปแบบ uniq สำหรับการส่งสัญญาณทั้งหมด
ถูกสร้างขึ้น สำหรับ UDP จะใช้รูปแบบเดียวกันสำหรับแต่ละแพ็คเกจ คุณสามารถบังคับ a
รูปแบบการสตรีมด้วย -s สวิตซ์; แต่ถ้าห่อหนึ่งหาย ห่อที่ตามมาทั้งหมด
มีรูปแบบที่คาดไม่ถึงและจะถูกรายงานเป็นอย่างอื่น เนื่องจากทุกๆ byte
เป็นหมายเลข ซึ่งสามารถใช้เพื่อตรวจจับแพ็กเก็ตแรกที่สูญหายระหว่าง
การส่งผ่าน
แต่ be ทราบ: หากมีความแตกต่าง ตัวเลือกนี้อาจทำให้แพ็กเก็ตสูญเสียบน
การส่ง UDP หรือประสิทธิภาพการทำงานลดลงตั้งแต่การเตรียม
เอาต์พุตเป็นแบบเรียบง่ายและใช้เวลา CPU เป็นจำนวนมาก

-s บังคับให้สร้างรูปแบบสตรีมหากมีการเปรียบเทียบข้อมูลแพ็กเก็ต UPD ดู -c
สวิตซ์.

-S เมล็ดพันธุ์ เชือก
ให้สตริงใดๆ เพื่อเริ่มต้นตัวสร้างรูปแบบ โดยค่าเริ่มต้นเมล็ดพันธุ์นี้มี
ค่า ' is a ง่าย init เชือก'. สิ่งนี้บังคับให้ -c ตัวเลือก

-pพอร์ต จำนวน
ตามค่าเริ่มต้น โฮสต์ของพาร์ทเนอร์จะรับฟังที่พอร์ต 5037 ซึ่งเขียนทับได้ด้วย
ตัวเลือกนี้

-i หากคุณไม่มีสิทธิ์เข้าถึงรูทบนโฮสต์ของพาร์ทเนอร์หรือไม่ต้องการแฮ็กด้วย inetd,
ตัวเลือกนี้ชี้นำ เอ็นทีซีพี ทำตัวเป็นภูตรอการเชื่อมต่อและ
การวางไข่จากกระบวนการลูกด้วยตัวเองตามที่ inetd จะทำเป็นอย่างอื่น

-Rจำนวน of เก็ทพิด() โทร
ตัวเลือกนี้ไม่ส่งข้อมูลใด ๆ แต่เรียกตามจำนวนที่กำหนด
รับปิด(2) และคำนวณจำนวนการโทรต่อวินาที นี้เป็นมาตรการสำหรับ
ความเร็วของเครื่องและอินเทอร์เฟซการเรียกระบบ

-mมัลติคาสต์ IP:พอร์ต
ตัวเลือกนี้ใช้เพื่อบังคับส่งไปยังที่อยู่และพอร์ตแบบหลายผู้รับที่ระบุ
ตัวเลือกนี้บังคับใช้ -u และ -t สวิตซ์.Alsoเห็นมัลติคาสต์ต่อมาinนี้เอกสาร

เอาท์พุท


ผลลัพธ์ของโปรแกรมประกอบด้วยตัวเลขสองบรรทัด หรือมากกว่าบรรทัดถ้าใช้ใน
ส่งไปยังเครื่องมากกว่าหนึ่งเครื่อง (multicasting) บรรทัดแรกสำหรับมาตรการของ
โฮสต์ท้องถิ่น อีกบรรทัดหนึ่งสำหรับการวัดโฮสต์ของพันธมิตร สิ่งนี้ยังระบุด้วย
โดยอักขระตัวแรกจะเป็น 'l' ตามลำดับ 'r' ถ้า -T ธงได้รับยังa
บรรทัดชื่อเรื่องจะได้รับ รูปแบบเริ่มต้นของการออกจะมีลักษณะดังนี้:

Bytes Real s CPU s Real-MBit/s CPU-MBit/s โทร Real-C/s CPU-C/s
ล 8388608 7.51 0.25 8.7307 259.8676 2048 272.83 8120.86
r 8388608 7.55 0.95 8.6804 68.9853 3831 507.42 4032.63

ค่าเวลาและอัตราที่มีเครื่องหมาย 'CPU' ใช้ผลรวมของระบบและเวลาของผู้ใช้เท่านั้น
ค่าเวลาและอัตราจริงคำนวณโดยใช้เวลาตั้งแต่ต้นจนจบ
การส่งผ่าน
เป็นไปได้ที่จะระบุรูปแบบอื่นของผลลัพธ์ สิ่งนี้ทำคล้ายกับรูปแบบ
สตริงของ printf(3 วินาที) อักขระการแปลงของ printf(3s) จะถูกแทนที่ด้วย
กำลังติดตามแท็ก แต่ละแท็กนำหน้าด้วย '%' เช่นใน printf(3 วินาที) ระหว่างอักขระ '%'
และแท็กมีข้อกำหนดความกว้างและความแม่นยำที่อนุญาตเช่นเดียวกับ printf(3 วินาที) สอง
ประเภทของค่าเป็นจำนวนเต็มและทศนิยมที่พิมพ์ สำหรับประเภทเหล่านี้ การแปลงตัวอักษร
'd' ตามลำดับ 'f' ของ printf(3s) ถูกนำมาใช้

l พิมพ์ความยาวบัฟเฟอร์เป็นไบต์ ค่าจำนวนเต็ม

n พิมพ์จำนวนบัฟเฟอร์ ค่าจำนวนเต็ม

c พิมพ์จำนวนการโทร ค่าจำนวนเต็ม

rt พิมพ์เวลาจริงใน s ค่าลอยตัว

rbr พิมพ์อัตราบิตจริงในหน่วย MBit/s ค่าลอยตัว

อาร์ซีอาร์ พิมพ์อัตราการโทรจริงในการโทร/วินาที ค่าลอยตัว

ct พิมพ์เวลา cpu ใน s ค่าลอยตัว

cbr พิมพ์อัตราบิตของซีพียูในหน่วย MBit/s ค่าลอยตัว

ซีซีอาร์ พิมพ์อัตราการโทรของซีพียูในการโทร/วินาที ค่าลอยตัว

รูปแบบเริ่มต้นถูกสร้างขึ้นด้วยสตริงรูปแบบต่อไปนี้:
"%9b%8.2rt%8.2ct%12.4rbr%12.4cbr%8c%10.2rcr%10.2ccr"

การติดตั้ง


เพื่อให้ใช้งานโปรแกรมนี้ได้สะดวกที่สุด สามารถติดตั้งบนเครื่องของพันธมิตรได้
ดังนั้น inetd(8) สามารถเริ่มต้นได้ ในการทำให้สำเร็จ จะต้องแก้ไขสองไฟล์:
/etc/inetd.conf และ / etc / บริการ.

บรรทัดที่เกี่ยวข้องอาจมีลักษณะดังนี้:

inetd.conf:
ttcp สตรีม tcp ตอนนี้ไม่มีใคร /usr/local/etc/nttcp nttcp

บริการ:
ttcp 5037/tcp # เพื่อวัดอัตราการถ่ายโอน tcp

หลังจากทำการเปลี่ยนแปลงเหล่านี้แล้ว inetd(8) ต้องแจ้งกระบวนการผ่าน HUP
สัญญาณ (หรือถูกฆ่าและรีสตาร์ทบน unix เวอร์ชันเก่า)

มัลติคาสติ้ง


เริ่มต้นด้วยเวอร์ชัน 1.4 มีการรองรับการสร้างทราฟฟิกมัลติคาสต์ คุณไม่จำเป็นต้อง
ตั้งค่าตัวเลือกใดก็ได้ แต่เพียงระบุโฮสต์ของพันธมิตรมากกว่าหนึ่งราย โหมดนี้จำกัดไว้ที่
ส่งแพ็กเก็ตจากโฮสต์ในพื้นที่ไปยังโฮสต์ของพันธมิตร และแน่นอนว่าใช้ได้เฉพาะกับ
เครื่องที่มีสแต็ค IP ที่เปิดใช้งานมัลติคาสต์ ทดสอบแล้วเป็นคุณสมบัตินี้ใน Solaris2.6,
HPUX-10 และ HPUX-11 และ Irix 6.2 FreeBSD-2.2.6 ที่คอมไพล์ด้วยตัวเลือก MROUTING ใช้งานได้
แต่พึงระวังว่าสิ่งนี้มีความหมายต่อสภาพแวดล้อมเครือข่ายของคุณอย่างไร สวิตช์อีเทอร์เน็ตส่วนใหญ่สำหรับ
ตัวอย่างจัดการการรับส่งข้อมูลแบบหลายผู้รับเป็นการออกอากาศ ด้วยวิธีนี้คุณจะท่วมท้นอย่างเต็มที่
เครือข่ายกับแพ็กเก็ตเหล่านี้

และพวกเรา


เป็นตัวแปรสภาพแวดล้อมสองแบบคือ NTTCP_LOC_OPT และ NTTCP_REM_OPT ที่สามารถนำมาใช้
ตั้งค่าตัวเลือกท้องถิ่นและตัวเลือกระยะไกลล่วงหน้าตามลำดับ พวกเขาใช้รูปแบบเดียวกับ
commandline ทำ ตัวเลือกบรรทัดคำสั่งจะแทนที่การตั้งค่าเหล่านั้นจากสภาพแวดล้อม

การรักษาความปลอดภัย


ภายใต้การพิจารณาด้านความปลอดภัย โหมดการทำงาน inetd คือ ไม่ แนะนำ เจ้าภาพ
กำหนดค่าให้เริ่ม เอ็นทีซีพี วิธีนี้เปิดกว้างมากสำหรับการโจมตีแบบปฏิเสธการให้บริการ ถ้าคุณคือ
กังวลเกี่ยวกับปัญหานี้ คุณควรพิจารณาใช้ tcpwrapper หรือเพียงแค่ไม่
ติดตั้ง เอ็นทีซีพี ทางนี้.
อย่าลืมวิ่ง เอ็นทีซีพี ไม่ใช่รูทเมื่อเริ่มต้นผ่าน inetd(8). ฉันได้รับการดูแลบางอย่างเพื่อ
หลีกเลี่ยงการเข้ารหัสที่มีแนวโน้มเกินบัฟเฟอร์ แต่ตอนนี้ต้นทางใหญ่เกินจะมั่นใจทุกมุม
ของรหัส

คุณอาจพิจารณาไม่ให้เข้าถึงโปรแกรมนี้โดยทั่วไป อาจจะง่าย
ใช้เพื่อทำให้เครือข่ายของคุณท่วมท้นด้วยการรับส่งข้อมูลจำนวนมาก สามารถใช้เพื่อเปิดหรือสนับสนุน
การโจมตีแบบปฏิเสธการให้บริการ

คำเตือน


มีข้อผิดพลาดมากมายในการอธิบายมาตรการที่ไม่คาดคิด รับรองว่าได้ฟินกันถ้วนหน้า
ความเข้าใจเกี่ยวกับเครือข่ายของคุณและอุปกรณ์ที่ใช้และติดตั้ง มันสุดขั้วด้วย
ช่วยให้มีความเข้าใจอย่างลึกซึ้งถึงสิ่งที่เกิดขึ้นในเครื่องของคุณและ
ระบบปฏิบัติการ. ตัวอย่างสั้นๆ แสดงความหมายที่นี่: หากคุณเห็นการสูญหายของแพ็กเก็ตบน
การถ่ายโอน UDP อาจเป็นได้ว่าแพ็กเก็ตหายไปบนโฮสต์ที่ส่ง! สำหรับวันนี้
เครื่องผลิตแพ็คเก็ตได้เร็วกว่าอีเธอร์เน็ต 10MBit ที่สามารถกลืนได้
ดังนั้นอาจถูกทิ้งลงบน UDP stack ของระบบปฏิบัติการ ขึ้นอยู่กับ
การใช้งาน IP stack ของคุณ ดังนั้นเพื่อให้แน่ใจว่าใช้เครื่องที่สองและสอดแนมหรือ
tcpdump การรับส่งข้อมูลที่เป็นปัญหา เพื่อให้แน่ใจว่าจะเกิดอะไรขึ้นกับสื่อ

ใช้ nttcp ออนไลน์โดยใช้บริการ onworks.net



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด