ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

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

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

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

โครงการ:

ชื่อ


socat - รีเลย์เอนกประสงค์ (Socket CAT)

เรื่องย่อ


socat [ตัวเลือก]
โซแคท -V
โซแคท -h[h[h]] | -?[?[?]]
เป็นต้น
โปรแคน

DESCRIPTION


โซกัต เป็นยูทิลิตีบรรทัดคำสั่งที่สร้างสตรีมไบต์สองทิศทางและ
ถ่ายโอนข้อมูลระหว่างกัน เพราะสายน้ำสามารถสร้างได้จากชุดใหญ่
แหล่งข้อมูลและแหล่งข้อมูลประเภทต่างๆ (ดูประเภทที่อยู่) และเนื่องจากที่อยู่จำนวนมาก
สามารถใช้ตัวเลือกกับสตรีมได้ socat สามารถใช้เพื่อวัตถุประสงค์ต่างๆ ได้มากมาย

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

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

วัฏจักรชีวิตของ โซแคท อินสแตนซ์โดยทั่วไปประกอบด้วยสี่ขั้นตอน

ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร init เฟส อ็อพชันบรรทัดคำสั่งจะถูกแยกวิเคราะห์ และการบันทึกเริ่มต้นขึ้น

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

ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร โอน เฟส โซแคท ดูตัวอธิบายไฟล์อ่านและเขียนของสตรีมทั้งสองผ่าน
select() และเมื่อมีข้อมูลอยู่ด้านใดด้านหนึ่ง และ สามารถเขียนไปอีกด้านได้
socat อ่านมัน ทำการแปลงอักขระขึ้นบรรทัดใหม่หากจำเป็น และเขียนข้อมูลไปที่
ตัวอธิบายไฟล์เขียนของสตรีมอื่น จากนั้นรอข้อมูลเพิ่มเติมใน
ทั้งสองทิศทาง

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

OPTIONS


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

-V พิมพ์ข้อมูลเวอร์ชันและข้อมูลคุณสมบัติที่พร้อมใช้งานไปยัง stdout และออก

-h | -?
พิมพ์ข้อความช่วยเหลือไปยัง stdout ที่อธิบายตัวเลือกบรรทัดคำสั่งและที่อยู่ที่มีอยู่
ประเภทและการออก

- ห๊ะ | - ??
เช่น -h รวมทั้งรายชื่อย่อของตัวเลือกที่อยู่ทั้งหมดที่มี บาง
ตัวเลือกขึ้นอยู่กับแพลตฟอร์ม ดังนั้นผลลัพธ์นี้จึงมีประโยชน์สำหรับการตรวจสอบ
การนำไปปฏิบัติโดยเฉพาะ

-haha | - ???
เช่น -hh รวมทั้งรายชื่อตัวเลือกที่อยู่ที่มีอยู่ทั้งหมด

-d หากไม่มีตัวเลือกนี้ ระบบจะสร้างเฉพาะข้อความที่ร้ายแรงและข้อผิดพลาดเท่านั้น ใช้สิ่งนี้
ตัวเลือกยังพิมพ์ข้อความเตือน ดูการวินิจฉัยสำหรับข้อมูลเพิ่มเติม

-d -d พิมพ์ข้อความที่ร้ายแรง ข้อผิดพลาด คำเตือน และการแจ้งเตือน

-d -d -d
พิมพ์ข้อความที่ร้ายแรง ข้อผิดพลาด คำเตือน ประกาศ และข้อความข้อมูล

-d -d -d -d
พิมพ์ข้อความที่ร้ายแรง ข้อผิดพลาด คำเตือน ประกาศ ข้อมูล และข้อความแก้ไขข้อบกพร่อง

-D บันทึกข้อมูลเกี่ยวกับ file descriptor ก่อนเริ่มเฟสการถ่ายโอน

-ly[ ]
เขียนข้อความไปยัง syslog แทน stderr; ความรุนแรงตามที่กำหนดด้วยตัวเลือก -d
ด้วยตัวเลือก สามารถเลือกประเภท syslog ได้ ค่าเริ่มต้นคือ "daemon"
ไลบรารีของบุคคลที่สามอาจไม่ปฏิบัติตามตัวเลือกนี้

-lf
เขียนข้อความถึง [ชื่อไฟล์] แทนที่จะเป็น stderr บุคคลที่สามบางส่วน
ไลบรารี โดยเฉพาะอย่างยิ่ง libwrap อาจไม่ปฏิบัติตามตัวเลือกนี้

-ล เขียนข้อความไปยัง stderr (ซึ่งเป็นค่าเริ่มต้น) ห้องสมุดบุคคลที่สามบางแห่งอาจ
ไม่เชื่อฟังตัวเลือกนี้ โดยเฉพาะอย่างยิ่ง libwrap ดูเหมือนจะเข้าสู่ระบบ syslog เท่านั้น

-lp
แทนที่ชื่อโปรแกรมที่พิมพ์ในข้อความแสดงข้อผิดพลาดและใช้สำหรับการสร้าง
ชื่อตัวแปรสภาพแวดล้อม

-ลู ขยายเวลาประทับของข้อความแสดงข้อผิดพลาดเป็นความละเอียดระดับไมโครวินาที ไม่ทำงาน, ไม่เป็นผล
เมื่อเข้าสู่ syslog

-lm[ ]
โหมดบันทึกแบบผสม ในระหว่างการเริ่มต้นระบบจะพิมพ์ข้อความไปที่ stderr; เมื่อไร โซแคท เริ่มต้น
เฟสการถ่ายโอนลูปหรือโหมด daemon (เช่นหลังจากเปิดสตรีมทั้งหมดและ before
เริ่มการถ่ายโอนข้อมูลหรือด้วยซ็อกเก็ตการฟังพร้อมตัวเลือกส้อมก่อน
ก่อนรับสาย) จะสลับการบันทึกเป็น syslog ด้วยตัวเลือก , ที่
สามารถเลือกประเภท syslog ได้ ค่าเริ่มต้นคือ "daemon"

-ล เพิ่มชื่อโฮสต์เพื่อบันทึกข้อความ ใช้ค่าจากตัวแปรสภาพแวดล้อม HOSTNAME หรือ
ค่าที่ดึงออกมาด้วย uname() หากไม่ได้ตั้งค่า HOSTNAME

-v เขียนข้อมูลที่ถ่ายโอนไม่เฉพาะไปยังสตรีมเป้าหมายเท่านั้น แต่ยังเขียนถึง stderr ด้วย
รูปแบบเอาต์พุตเป็นข้อความที่มีการแปลงบางส่วนเพื่อให้สามารถอ่านได้ และนำหน้าด้วย
">" หรือ "<" แสดงทิศทางการไหล

-x เขียนข้อมูลที่ถ่ายโอนไม่เฉพาะไปยังสตรีมเป้าหมายเท่านั้น แต่ยังเขียนถึง stderr ด้วย
รูปแบบเอาต์พุตเป็นเลขฐานสิบหก นำหน้าด้วย "> " หรือ "<" ซึ่งหมายถึงโฟลว์
ทิศทาง. สามารถใช้ร่วมกับ -v ได้

-b
ตั้งค่าบล็อกการถ่ายโอนข้อมูล [size_t]. ที่มากที่สุด ไบต์จะถูกโอน
ต่อขั้นตอน ค่าเริ่มต้นคือ 8192 ไบต์

-s โดยค่าเริ่มต้น โซแคท สิ้นสุดลงเมื่อมีข้อผิดพลาดเกิดขึ้นเพื่อป้องกันกระบวนการจาก
ทำงานเมื่อไม่สามารถใช้ตัวเลือกบางอย่างได้ ด้วยตัวเลือกนี้ โซแคท เลอะเทอะ
มีข้อผิดพลาดและพยายามดำเนินการต่อ แม้จะมีตัวเลือกนี้ socat จะออกใน
ร้ายแรง และจะยกเลิกความพยายามในการเชื่อมต่อเมื่อการตรวจสอบความปลอดภัยล้มเหลว

-t
เมื่อช่องหนึ่งถึง EOF ส่วนการเขียนของอีกช่องหนึ่งจะปิดลง
จากนั้น โซแคท รอ [timeval] วินาทีก่อนสิ้นสุด ค่าเริ่มต้นคือ 0.5
วินาที ระยะหมดเวลานี้ใช้กับที่อยู่ที่เขียนและอ่านส่วนได้เท่านั้น
ปิดอย่างอิสระ เมื่อระหว่างช่วงหมดเวลา ส่วนที่อ่านจะให้ EOF
socat สิ้นสุดโดยไม่ต้องรอการหมดเวลา

-T
การหมดเวลาไม่ใช้งานทั้งหมด: เมื่อ socat อยู่ในลูปการถ่ายโอนแล้วและไม่มีอะไร
ได้เกิดขึ้นเพื่อ [timeval] วินาที (ไม่มีข้อมูลไม่มีการขัดจังหวะ
เกิดขึ้น...) แล้วมันสิ้นสุดลง มีประโยชน์กับโปรโตคอลเช่น UDP ที่ไม่สามารถทำได้
โอน EOF

-u ใช้โหมดทิศทางเดียว ที่อยู่แรกใช้สำหรับการอ่านเท่านั้น และ
ที่อยู่ที่สองใช้สำหรับการเขียนเท่านั้น (ตัวอย่าง)

-U ใช้โหมดทิศทางเดียวในทิศทางย้อนกลับ ที่อยู่แรกใช้สำหรับ .เท่านั้น
การเขียนและที่อยู่ที่สองใช้สำหรับการอ่านเท่านั้น

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

-L
หากมี lockfile อยู่ ออกโดยมีข้อผิดพลาด หากไม่มี lockfile ให้สร้างขึ้นและ
ดำเนินการต่อ ยกเลิกการลิงก์ล็อกไฟล์เมื่อออก

-W
หากมี lockfile อยู่ ให้รอจนกว่าจะหายไป เมื่อ lockfile ไม่มีอยู่
สร้างและดำเนินการต่อ ยกเลิกการลิงก์ล็อกไฟล์เมื่อออก

-4 ใช้ IP เวอร์ชัน 4 ในกรณีที่ที่อยู่ไม่ได้ระบุโดยปริยายหรือโดยชัดแจ้ง
รุ่น; นี่คือค่าเริ่มต้น

-6 ใช้ IP เวอร์ชัน 6 ในกรณีที่ที่อยู่ไม่ได้ระบุโดยปริยายหรือโดยชัดแจ้ง
รุ่น

ที่อยู่ ข้อมูลจำเพาะ


ด้วยอาร์กิวเมนต์บรรทัดคำสั่งที่อยู่ ผู้ใช้ให้ โซแคท คำแนะนำและ
ข้อมูลที่จำเป็นสำหรับการสร้างสตรีมไบต์

ข้อกำหนดที่อยู่มักจะประกอบด้วยคำหลักประเภทที่อยู่ศูนย์หรือมากกว่า
พารามิเตอร์ที่อยู่ที่ต้องการคั่นด้วย ':' จากคำหลักและจากกันและ
ตัวเลือกที่อยู่ศูนย์หรือมากกว่าโดยคั่นด้วย ','

คีย์เวิร์ดระบุประเภทที่อยู่ (เช่น TCP4, OPEN, EXEC) สำหรับคำหลักบางคำที่นั่น
คำพ้องความหมายที่มีอยู่ ('-' สำหรับ STDIO, TCP สำหรับ TCP4) คีย์เวิร์ดไม่คำนึงถึงขนาดตัวพิมพ์ สักหน่อย
ประเภทที่อยู่พิเศษ คำหลักอาจถูกละเว้น: ข้อกำหนดที่อยู่เริ่มต้นด้วย a
หมายเลขจะถือว่าเป็นที่อยู่ FD (ตัวอธิบายไฟล์ดิบ) ถ้าพบ '/' ก่อน
แรก ':' หรือ ',' GOPEN (เปิดไฟล์ทั่วไป) จะถือว่า

จำนวนและประเภทของพารามิเตอร์ที่อยู่ที่ต้องการจะขึ้นอยู่กับประเภทที่อยู่ เช่น TCP4
ต้องการข้อมูลจำเพาะของเซิร์ฟเวอร์ (ชื่อหรือที่อยู่) และข้อกำหนดพอร์ต (หมายเลขหรือ
ชื่อบริการ)

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

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

โดยปกติ ที่อยู่จะเปิดในโหมดอ่าน/เขียน เมื่อที่อยู่เป็นส่วนหนึ่งของdual
ข้อกำหนดที่อยู่ หรือเมื่อใช้ตัวเลือก -u หรือ -U ที่อยู่อาจใช้สำหรับ .เท่านั้น
การอ่านหรือการเขียน การพิจารณาสิ่งนี้เป็นสิ่งสำคัญสำหรับที่อยู่บางประเภท

ด้วย socat เวอร์ชัน 1.5.0 ขึ้นไป การวิเคราะห์คำศัพท์จะพยายามจัดการกับคำพูดและ
วงเล็บมีความหมายและอนุญาตให้ใช้อักขระพิเศษหนีได้ หากหนึ่งใน
อักขระ ( { [ ' พบ อักขระปิดที่สอดคล้องกัน - ) } ] ' - ถูกมอง
สำหรับ; พวกเขาอาจจะซ้อนกัน ภายในโครงสร้างเหล่านี้ socats อักขระพิเศษและ
สตริง : , !! ไม่ได้รับการจัดการเป็นพิเศษ อักขระและสตริงเหล่านั้นทั้งหมดสามารถหลีกเลี่ยงได้
ด้วย \ หรือภายใน ""

ที่อยู่ ประเภท


ส่วนนี้อธิบายประเภทที่อยู่ที่มีพร้อมคำสำคัญ พารามิเตอร์ และ
ความหมาย

สร้าง:
เปิด ด้วย creat() และใช้ file descriptor ในการเขียน นี้
ประเภทที่อยู่ต้องใช้บริบทแบบเขียนเท่านั้น เนื่องจากไฟล์ที่เปิดด้วย creat ไม่สามารถทำได้
อ่านได้จาก.
ไม่สามารถใช้แฟล็กเช่น O_LARGEFILE หากคุณต้องการให้ใช้ OPEN พร้อมตัวเลือก
สร้างสร้าง
ต้องเป็นเส้นทางที่มีอยู่หรือไม่มีอยู่จริง ถ้า เป็นชื่อ
ไปป์, creat() อาจบล็อก; ถ้า หมายถึงซ็อกเก็ตซึ่งเป็นข้อผิดพลาด
กลุ่มตัวเลือก: FD,REG,NAMED
ตัวเลือกที่มีประโยชน์: โหมด, ผู้ใช้, กลุ่ม, ยกเลิกการลิงก์ก่อน, ยกเลิกการลิงก์ล่าช้า, ต่อท้าย
ดูเพิ่มเติม: เปิด, GOPEN

ผู้บริหาร:
แยกกระบวนการย่อยที่สร้างการสื่อสารกับกระบวนการหลักและ
เรียกใช้โปรแกรมที่ระบุด้วย execvp() เป็นคำสั่งง่ายๆ
โดยมีอาร์กิวเมนต์คั่นด้วยช่องว่างเดียว หากชื่อโปรแกรมมี '/' แสดงว่า
ส่วนหลังจาก '/' สุดท้ายถูกนำมาเป็น ARGV[0] หากชื่อรายการเป็นญาติ
เส้นทาง ใช้ความหมาย execvp() สำหรับการค้นหาโปรแกรมผ่าน $PATH หลังจาก
การเริ่มต้นโปรแกรมที่ประสบความสำเร็จ โซแคท เขียนข้อมูลไปยัง stdin ของกระบวนการและอ่านจาก
stdout โดยใช้ซ็อกเก็ตโดเมน UNIX ที่สร้างโดย socketpair() ตามค่าเริ่มต้น
(ตัวอย่าง)
กลุ่มตัวเลือก: FD,SOCKET,EXEC,FORK,TERMIOS
ตัวเลือกที่มีประโยชน์: เส้นทาง, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setid, ท่อ, เข้าสู่ระบบ, sigint, sigquit
ดูเพิ่มเติม: SYSTEM

เอฟดี:
ใช้ตัวอธิบายไฟล์ . ต้องมีอยู่แล้วเป็นไฟล์ UN*X ที่ถูกต้อง
คำอธิบาย
กลุ่มตัวเลือก: FD (TERMIOS,REG,SOCKET)
ดูเพิ่มเติม: STDIO, STDIN, STDOUT, STDERR

โกเปน:
(เปิดทั่วไป) ที่อยู่ประเภทนี้พยายามจัดการรายการระบบไฟล์ใด ๆ ยกเว้น
ไดเร็กทอรีอย่างมีประโยชน์ อาจเป็นเส้นทางสัมพัทธ์หรือสัมบูรณ์ ถ้าได้แล้ว
มีอยู่ ชนิดของมันจะถูกตรวจสอบ ในกรณีของซ็อกเก็ตโดเมน UNIX โซแคท เชื่อมต่อ; ถ้า
การเชื่อมต่อล้มเหลว โซแคท ถือว่าซ็อกเก็ตดาตาแกรมและใช้การเรียก sendto() ถ้า
รายการไม่ใช่ซ็อกเก็ต โซแคท เปิดโดยใช้แฟล็ก O_APPEND ถ้ามันไม่
มีอยู่ มันถูกเปิดด้วยแฟล็ก O_CREAT เป็นไฟล์ปกติ (ตัวอย่าง)
กลุ่มตัวเลือก: FD,REG,SOCKET,NAMED,OPEN
ดูเพิ่มเติมที่: เปิด, สร้าง, UNIX-CONNECT

IP-ส่ง: :
เปิดซ็อกเก็ต IP ดิบ ขึ้นอยู่กับข้อมูลจำเพาะของโฮสต์หรือตัวเลือก pf, โปรโตคอล IP
ใช้เวอร์ชัน 4 หรือ 6 มันใช้ เพื่อส่งแพ็กเก็ตไปที่ [ที่อยู่ IP]
และรับแพ็กเก็ตจากโฮสต์ ละเว้นแพ็กเก็ตจากโฮสต์อื่น พิธีสาร255
ใช้ซ็อกเก็ตดิบที่มีส่วนหัว IP เป็นส่วนหนึ่งของข้อมูล
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6
ตัวเลือกที่มีประโยชน์: pf, ttl
ดูเพิ่มเติม: IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

อินเตอร์เฟซ:
สื่อสารกับเครือข่ายที่เชื่อมต่อบนอินเทอร์เฟซโดยใช้แพ็กเก็ตดิบรวมถึง
ข้อมูลระดับลิงค์ เป็นชื่อของอินเทอร์เฟซเครือข่าย ปัจจุบันเท่านั้น
พร้อมใช้งานบนลินุกซ์ กลุ่มตัวเลือก: FD,SOCKET
ตัวเลือกที่มีประโยชน์: pf, type
ดูเพิ่มเติม: ip-recv

IP4-ส่ง: :
เช่นเดียวกับ IP-SENDTO แต่ใช้ IPv4 เสมอ
กลุ่มตัวเลือก: FD,SOCKET,IP4

IP6-ส่ง: :
เช่นเดียวกับ IP-SENDTO แต่ใช้ IPv6 เสมอ
กลุ่มตัวเลือก: FD,SOCKET,IP6

IP-ดาตาแกรม: :
ส่งข้อมูลขาออกไปยังที่อยู่ที่ระบุซึ่งอาจเป็นการออกอากาศโดยเฉพาะ
หรือที่อยู่แบบหลายผู้รับ แพ็คเก็ตที่มาถึงในซ็อกเก็ตในพื้นที่จะถูกตรวจสอบหากพวกเขา
ที่อยู่ต้นทางตรงกับตัวเลือก RANGE หรือ TCPWRAP ที่อยู่ประเภทนี้สามารถยกตัวอย่างได้
ใช้สำหรับการออกอากาศแบบสมมาตรหรืออสมมาตรหรือมัลติคาสต์
คมนาคม
กลุ่มตัวเลือก: FD, SOCKET, IP4, IP6, RANGE
ตัวเลือกที่มีประโยชน์: ผูก, ช่วง, tcpwrap, ออกอากาศ, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-เพิ่ม-สมาชิก, ttl, tos, pf
ดูเพิ่มเติม: IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

IP4-ดาตาแกรม: :
เช่นเดียวกับ IP-DATAGRAM แต่ใช้ IPv4 เสมอ (ตัวอย่าง)
กลุ่มตัวเลือก: FD,SOCKET,IP4,RANGE

IP6-ดาตาแกรม: :
เช่นเดียวกับ IP-DATAGRAM แต่ใช้ IPv6 เสมอ โปรดทราบว่า IPv6 ไม่ทราบ
ออกอากาศ
กลุ่มตัวเลือก: FD,SOCKET,IP6,RANGE

IP-RECVFROM:
เปิดซ็อกเก็ต IP ดิบของ . ขึ้นอยู่กับตัวเลือก pf โปรโตคอล IP เวอร์ชัน 4
หรือใช้ 6 ได้รับหนึ่งแพ็คเก็ตจากเพียร์ที่ไม่ระบุและอาจส่งหนึ่งหรือ
แพ็กเก็ตคำตอบเพิ่มเติมสำหรับเพียร์นั้น โหมดนี้มีประโยชน์อย่างยิ่งกับ fork
ตัวเลือกที่แต่ละแพ็กเก็ตที่มาถึง - จากเพียร์โดยพลการ - จัดการด้วยตัวเอง
กระบวนการย่อย ซึ่งช่วยให้ทำงานคล้ายกับเซิร์ฟเวอร์ที่ใช้ UDP ทั่วไป เช่น
ntpd หรือชื่อ
โปรดทราบว่าแพ็คเก็ตตอบกลับอาจถูกดึงออกมาเป็นทราฟฟิกขาเข้าเมื่อผู้ส่ง
และที่อยู่ IP ของผู้รับเหมือนกันเพราะไม่มีหมายเลขพอร์ตถึง
แยกแยะซ็อกเก็ต
ที่อยู่นี้ทำงานได้ดีกับที่อยู่ IP-SENDTO (ดูด้านบน) พิธีสาร255
ใช้ซ็อกเก็ตดิบที่มีส่วนหัว IP เป็นส่วนหนึ่งของข้อมูล
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,CHILD,RANGE
ตัวเลือกที่มีประโยชน์: pf, fork, range, ttl, broadcast
ดูเพิ่มเติม: IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM,
UNIX-RECVFROM

IP4-RECVFROM:
เช่นเดียวกับ IP-RECVFROM แต่ใช้ IPv4 เสมอ
กลุ่มตัวเลือก: FD,SOCKET,IP4,CHILD,RANGE

IP6-RECVFROM:
เช่นเดียวกับ IP-RECVFROM แต่ใช้ IPv6 เสมอ
กลุ่มตัวเลือก: FD,SOCKET,IP6,CHILD,RANGE

IP-RECV:
เปิดซ็อกเก็ต IP ดิบของ . ขึ้นอยู่กับตัวเลือก pf โปรโตคอล IP เวอร์ชัน 4
หรือใช้ 6 รับแพ็กเก็ตจากเพียร์ที่ไม่ระบุจำนวนมากและรวม
ข้อมูล. ไม่มีการตอบกลับเป็นไปได้ อาจเป็นได้ เช่น ระบุโดย socat IP-SENDTO
ที่อยู่เพื่อน โปรโตคอล 255 ใช้ซ็อกเก็ตดิบโดยที่ส่วนหัว IP เป็นส่วนหนึ่งของ
ข้อมูล.
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,RANGE
ตัวเลือกที่มีประโยชน์: pf, range
ดูเพิ่มเติม: IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV:
เช่นเดียวกับ IP-RECV แต่ใช้ IPv4 เสมอ
กลุ่มตัวเลือก: FD,SOCKET,IP4,RANGE

IP6-RECV:
เช่นเดียวกับ IP-RECV แต่ใช้ IPv6 เสมอ
กลุ่มตัวเลือก: FD,SOCKET,IP6,RANGE

เปิด:
เปิด โดยใช้การเรียกระบบ open() (ตัวอย่าง) การดำเนินการนี้ล้มเหลวใน
ซ็อกเก็ตโดเมน UNIX
หมายเหตุ: ประเภทที่อยู่นี้ไม่ค่อยมีประโยชน์ในโหมดสองทิศทาง
กลุ่มตัวเลือก: FD,REG,NAMED,OPEN
ตัวเลือกที่มีประโยชน์: creat, excl, noatime, nofollow, ผนวก, rdonly, ผิด, ล็อค,
อ่านไบต์ละเว้นของ
ดูเพิ่มเติม: CREATE, GOPEN, UNIX-CONNECT

OPENSL: :
พยายามสร้างการเชื่อมต่อ SSL กับ [บริการ TCP] บน [ที่อยู่ IP]
โดยใช้ TCP/IP เวอร์ชัน 4 หรือ 6 ขึ้นอยู่กับข้อกำหนดของที่อยู่ การจำแนกชื่อ หรือ
ตัวเลือก pf.
หมายเหตุ: จนถึงเวอร์ชัน 1.7.2.4 ใบรับรองเซิร์ฟเวอร์ได้รับการตรวจสอบความถูกต้องเท่านั้น
กับที่เก็บใบรับรองระบบหรือ cafile หรือ capat แต่ไม่จับคู่กับ
ชื่อเซิร์ฟเวอร์หรือที่อยู่ IP ตั้งแต่เวอร์ชัน 1.7.3.0 socat ตรวจสอบเพียร์
ใบรับรองการจับคู่กับ พารามิเตอร์หรือค่าของ
ตัวเลือก opensl-commonname Socat พยายามจับคู่กับใบรับรอง
เรื่อง commonName และนามสกุล subjectAltName DNS ของใบรับรอง
รองรับไวลด์การ์ดในใบรับรอง
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,TCP,OPENSSL,RETRY
ตัวเลือกที่มีประโยชน์: รหัส, เมธอด, ตรวจสอบ, ชื่อสามัญ cafile, capat, ใบรับรอง,
คีย์, บีบอัด, ผูก, pf, หมดเวลาเชื่อมต่อ, ซอร์สพอร์ต, ลองอีกครั้ง
ดูเพิ่มเติมที่: OPENSSL-LISTEN, TCP

OPENSL-ฟัง:
ฟังบนtcp [บริการ TCP]. เวอร์ชัน IP คือ 4 หรือเวอร์ชันที่ระบุด้วย
พีเอฟ เมื่อยอมรับการเชื่อมต่อ ที่อยู่นี้จะทำหน้าที่เป็นเซิร์ฟเวอร์ SSL
หมายเหตุ: คุณอาจต้องการใช้ตัวเลือกใบรับรองกับที่อยู่นี้
หมายเหตุ: ใบรับรองไคลเอ็นต์ได้รับการตรวจสอบความถูกต้องกับ cafile หรือ capat เท่านั้น
แต่ไม่ตรงกับชื่อลูกค้าหรือที่อยู่ IP!
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,TCP,LISTEN,OPENSSL,CHILD,RANGE,RETRY
ตัวเลือกที่มีประโยชน์: pf, cipher, method, ตรวจสอบ, ชื่อสามัญ cafile, capat, ใบรับรอง,
คีย์, บีบอัด, แยก, ผูก, ช่วง, tcpwrap, su, reuseaddr, ลองใหม่อีกครั้ง
ดูเพิ่มเติมที่: OPENSSL, TCP-LISTEN

ท่อ:
ถ้า มีอยู่แล้วก็เปิดอยู่ หากไม่มีอยู่ ไปป์ที่มีชื่อคือ
สร้างและเปิด เริ่มต้นด้วย socat เวอร์ชัน 1.4.3 ไปป์ที่มีชื่อจะถูกลบออก
เมื่อที่อยู่ถูกปิด (แต่ดูตัวเลือก unlink-close
หมายเหตุ: เมื่อใช้ไพพ์สำหรับทั้งการอ่านและการเขียน ไพพ์จะทำงานเป็นบริการก้อง
หมายเหตุ: เมื่อใช้ไพพ์สำหรับทั้งการอ่านและการเขียน และ socat พยายามเขียน
ไบต์มากกว่าที่ไพพ์สามารถบัฟเฟอร์ได้ (Linux 2.4: 2048 ไบต์) socat อาจบล็อก
พิจารณาใช้ตัวเลือก socat เช่น -b 2048
กลุ่มตัวเลือก: FD,NAMED,OPEN
ตัวเลือกที่มีประโยชน์: rdonly, nonblock, group, user, mode, unlink-early
ดูเพิ่มเติม: ท่อไม่มีชื่อ

ท่อ สร้างไปป์ที่ไม่มีชื่อและใช้สำหรับการอ่านและการเขียน มันทำงานเป็นเสียงสะท้อน
เพราะทุกอย่างที่เขียนลงไปจะปรากฏทันทีเป็นข้อมูลที่อ่านแล้ว
หมายเหตุ: เมื่อ socat พยายามเขียนไบต์มากกว่าที่ไพพ์สามารถจัดคิวได้ (Linux 2.4: 2048
ไบต์) socat อาจบล็อก พิจารณา เช่น ใช้ตัวเลือก -b 2048
กลุ่มตัวเลือก: FD
ดูเพิ่มเติม: ชื่อไปป์

พร็อกซี่: : :
เชื่อมต่อกับพร็อกซีเซิร์ฟเวอร์ HTTP บนพอร์ต 8080 โดยใช้ TCP/IP เวอร์ชัน 4 หรือ 6
ขึ้นอยู่กับข้อกำหนดของที่อยู่ การจำแนกชื่อ หรือตัวเลือก pf แล้วส่ง a
เชื่อมต่อคำขอชื่อโฮสต์:พอร์ต หากพร็อกซีอนุญาตการเข้าถึงและดำเนินการสำเร็จ
เชื่อมต่อกับเป้าหมาย การถ่ายโอนข้อมูลระหว่าง socat และเป้าหมายสามารถเริ่มต้นได้ บันทึก
ว่าการรับส่งข้อมูลไม่จำเป็นต้องเป็น HTTP แต่สามารถเป็นโปรโตคอลได้ตามอำเภอใจ
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,TCP,HTTP,RETRY
ตัวเลือกที่มีประโยชน์: พร็อกซีพอร์ต, ละเว้น cr, proxyauth, แก้ไข, crnl, ผูก,
หมดเวลาเชื่อมต่อ, mss, ซอร์สพอร์ต, ลองอีกครั้ง
ดูเพิ่มเติม: ถุงเท้า, TCP

PTY สร้างเทอร์มินัลหลอก (pty) และใช้ด้านหลัก กระบวนการอื่นอาจ
เปิดด้านทาสของ pty โดยใช้เหมือนสายอนุกรมหรือเทอร์มินัล (ตัวอย่าง). ถ้า
มีทั้งกลไก ptmx และ openpty ให้ใช้ ptmx (POSIX)
กลุ่มตัวเลือก: FD,NAMED,PTY,TERMIOS
ตัวเลือกที่มีประโยชน์: ลิงก์, openpty, wait-slave, โหมด, ผู้ใช้, group
ดูเพิ่มเติมที่: UNIX-LISTEN, PIPE, EXEC, SYSTEM

อ่าน
ใช้ GNU readline และ history บน stdio เพื่ออนุญาตให้แก้ไขและนำอินพุตกลับมาใช้ใหม่ได้
(ตัวอย่าง).
เนื่องจากข้อจำกัดด้านสิทธิ์การใช้งาน คุณลักษณะ readline ถูกปิดใช้งานใน Debian ดู
ข้อบกพร่อง
คุณสามารถใช้ STDIO แทนได้

SCTP-เชื่อมต่อ: :
สร้างการเชื่อมต่อสตรีม SCTP ไปยังที่ระบุ [ที่อยู่ IP] และ
[บริการ TCP] โดยใช้ TCP/IP เวอร์ชัน 4 หรือ 6 ขึ้นอยู่กับที่อยู่
ข้อกำหนด ความละเอียดของชื่อ หรือตัวเลือก pf
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
ตัวเลือกที่มีประโยชน์: ผูก, pf, หมดเวลาเชื่อมต่อ, tos, mtudiscover, sctp-maxseg,
sctp-nodelay, nonblock, sourceport, ลองใหม่อีกครั้ง, readbytes
ดูเพิ่มเติม: SCTP4-CONNECT, SCTP6-CONNECT, SCTP-LISTEN, TCP-CONNECT

SCTP4-CONNECT: :
เช่นเดียวกับ SCTP-CONNECT แต่รองรับเฉพาะโปรโตคอล IPv4
กลุ่มตัวเลือก: FD,SOCKET,IP4,SCTP,CHILD,RETRY

SCTP6-CONNECT: :
เช่นเดียวกับ SCTP-CONNECT แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,IP6,SCTP,CHILD,RETRY

SCTP-ฟัง:
ฟังบน [บริการ TCP] และยอมรับการเชื่อมต่อ TCP/IP รุ่น IP คือ
4 หรือที่ระบุด้วยตัวเลือกที่อยู่ pf, ตัวเลือก socat (-4, -6) หรือ
ตัวแปรสภาพแวดล้อม SOCAT_DEFAULT_LISTEN_IP โปรดทราบว่าการเปิดที่อยู่นี้
มักจะบล็อกจนกว่าไคลเอ็นต์จะเชื่อมต่อ
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,SCTP,RETRY
ตัวเลือกที่มีประโยชน์: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog,
sctp-maxseg, sctp-nodelay, su, reuseaddr, ลองใหม่, เขียนเย็น
ดูเพิ่มเติม: SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-ฟัง:
เช่นเดียวกับ SCTP-LISTEN แต่รองรับเฉพาะโปรโตคอล IPv4
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,SCTP,RETRY

SCTP6-ฟัง:
เช่นเดียวกับ SCTP-LISTEN แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,SCTP,RETRY

SOCKET-CONNECT: : :
สร้างสตรีมซ็อกเก็ตโดยใช้พารามิเตอร์ซ็อกเก็ตตัวแรกและตัวที่สองและ
SOCK_STREAM (ดู man socket\(2)) และเชื่อมต่อกับที่อยู่ระยะไกล ทั้งสอง
ต้องระบุพารามิเตอร์ซ็อกเก็ตด้วยตัวเลข int ปรึกษา OS . ของคุณ
เอกสารและรวมไฟล์เพื่อค้นหาค่าที่เหมาะสม ที่อยู่ระยะไกล
ต้องเป็นการแสดงข้อมูลของโครงสร้าง sockaddr ที่ไม่มี sa_family และ (BSD)
ส่วนประกอบ sa_len
โปรดทราบว่าคุณสามารถ - นอกเหนือจากตัวเลือกของกลุ่มที่ระบุ - ยังใช้
ตัวเลือกของโปรโตคอลระดับสูงกว่าเมื่อคุณใช้ socat option -g
กลุ่มตัวเลือก: FD,SOCKET,CHILD,RETRY
ตัวเลือกที่มีประโยชน์: ผูก, setsockopt-int, setockopt-bin, setockopt-string
ดูเพิ่มเติมที่: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

SOCKET-ดาตาแกรม: : : :
สร้างซ็อกเก็ตดาตาแกรมโดยใช้พารามิเตอร์ซ็อกเก็ตที่กำหนดสามตัวแรก (ดูman
socket\(2)) และส่งข้อมูลขาออกไปยังที่อยู่ระยะไกล สามซ็อกเก็ต
ต้องระบุพารามิเตอร์ด้วยตัวเลข int ศึกษาเอกสารระบบปฏิบัติการของคุณและ
รวมไฟล์เพื่อค้นหาค่าที่เหมาะสม ที่อยู่ระยะไกลจะต้องเป็น data
การแสดงโครงสร้าง sockaddr โดยไม่มี sa_family และ (BSD) sa_len
ส่วนประกอบ
โปรดทราบว่าคุณสามารถ - นอกเหนือจากตัวเลือกของกลุ่มที่ระบุ - ยังใช้
ตัวเลือกของโปรโตคอลระดับสูงกว่าเมื่อคุณใช้ socat option -g
กลุ่มตัวเลือก: FD,SOCKET,RANGE
ตัวเลือกที่มีประโยชน์: ผูก, ช่วง, setsockopt-int, setsockopt-bin, setsockopt-string
ดูเพิ่มเติมที่: UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

SOCKET-ฟัง: : :
สร้างสตรีมซ็อกเก็ตโดยใช้พารามิเตอร์ซ็อกเก็ตตัวแรกและตัวที่สองและ
SOCK_STREAM (ดู man socket\(2)) และรอการเชื่อมต่อขาเข้าบน
ที่อยู่ในท้องถิ่น ต้องระบุพารามิเตอร์ซ็อกเก็ตสองตัวด้วยตัวเลข int
ศึกษาเอกสารประกอบระบบปฏิบัติการของคุณและรวมไฟล์ต่างๆ เพื่อค้นหาค่าที่เหมาะสม ดิ
ที่อยู่ในท้องถิ่นจะต้องเป็นตัวแทนข้อมูลของโครงสร้าง sockaddr โดยไม่ต้อง
sa_family และ (BSD) sa_len ส่วนประกอบ
โปรดทราบว่าคุณสามารถ - นอกเหนือจากตัวเลือกของกลุ่มที่ระบุ - ยังใช้
ตัวเลือกของโปรโตคอลระดับสูงกว่าเมื่อคุณใช้ socat option -g
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,RANGE,CHILD,RETRY
ตัวเลือกที่มีประโยชน์: setsockopt-int, setsockopt-bin, setsockopt-string
ดูเพิ่มเติมที่: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO,
ซ็อกเก็ต-SENDTO

SOCKET-RECV: : : :
สร้างซ็อกเก็ตโดยใช้พารามิเตอร์ซ็อกเก็ตที่กำหนดสามตัว (ดู man socket\(2)) และ
ผูกมันไว้กับ . รับข้อมูลที่มาถึง พารามิเตอร์ทั้งสามต้อง
ระบุด้วยตัวเลข int ศึกษาเอกสารประกอบระบบปฏิบัติการของคุณและรวมไฟล์ไว้ที่
หาค่าที่เหมาะสม ที่อยู่ในท้องถิ่นจะต้องเป็นตัวแทนข้อมูลของa
โครงสร้าง sockaddr ที่ไม่มีส่วนประกอบ sa_family และ (BSD) sa_len
กลุ่มตัวเลือก: FD,SOCKET,RANGE
ตัวเลือกที่มีประโยชน์: range, setsockopt-int, setsockopt-bin, setsockopt-string
ดูเพิ่มเติมที่: UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO,
ซ็อกเก็ต RECVFROM

SOCKET-RECVFROM: : : :
สร้างซ็อกเก็ตโดยใช้พารามิเตอร์ซ็อกเก็ตที่กำหนดสามตัว (ดู man socket\(2)) และ
ผูกมันไว้กับ . รับข้อมูลที่มาถึงและส่งการตอบกลับกลับไปยัง
ผู้ส่ง. ต้องระบุพารามิเตอร์สามตัวแรกเป็นตัวเลข int ปรึกษา
เอกสาร OS ของคุณและรวมไฟล์เพื่อค้นหาค่าที่เหมาะสม ดิ
ที่อยู่ในท้องถิ่นจะต้องเป็นตัวแทนข้อมูลของโครงสร้าง sockaddr โดยไม่ต้อง
sa_family และ (BSD) sa_len ส่วนประกอบ
กลุ่มตัวเลือก: FD,SOCKET,CHILD,RANGE
ตัวเลือกที่มีประโยชน์: fork, range, setsockopt-int, setsockopt-bin, setsockopt-string
ดูเพิ่มเติมที่: UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, SOCKET-DATAGRAM, SOCKET-SENDTO,
ซ็อกเก็ต-RECV

SOCKET-SENDTO: : : :
สร้างซ็อกเก็ตโดยใช้พารามิเตอร์ซ็อกเก็ตที่กำหนดสามตัว (ดู man socket\(2))
ส่งข้อมูลขาออกไปยังที่อยู่ที่กำหนดและรับการตอบกลับ สาม
ต้องระบุพารามิเตอร์เป็นตัวเลข int ศึกษาเอกสารระบบปฏิบัติการของคุณและ
รวมไฟล์เพื่อค้นหาค่าที่เหมาะสม ที่อยู่ระยะไกลจะต้องเป็น data
การแสดงโครงสร้าง sockaddr โดยไม่มี sa_family และ (BSD) sa_len
ส่วนประกอบ
กลุ่มตัวเลือก: FD,SOCKET
ตัวเลือกที่มีประโยชน์: ผูก, setsockopt-int, setockopt-bin, setockopt-string
ดูเพิ่มเติมที่: UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV
ซ็อกเก็ต RECVFROM

ถุงเท้า4: : :
เชื่อมต่อผ่าน [ที่อยู่ IP] ถึง [ที่อยู่ IPv4] บน [TCP
บริการ] โดยใช้โปรโตคอลถุงเท้าเวอร์ชัน 4 ผ่าน IP เวอร์ชัน 4 หรือ 6 ขึ้นอยู่กับ
ข้อกำหนดที่อยู่ การแก้ไขชื่อ หรือตัวเลือก pf (ตัวอย่าง)
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY
ตัวเลือกที่มีประโยชน์: socksuser, socksport, sourceport, pf, retry
ดูเพิ่มเติม: SOCKS4A, พร็อกซี่, TCP

SOCKS4A: : :
เช่น SOCKS4 แต่ใช้โปรโตคอลถุงเท้ารุ่น 4a ดังนั้นจึงทำให้ชื่อโฮสต์มีความละเอียด
ไปยังเซิร์ฟเวอร์ถุงเท้า
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY

สแตเดอร์ ใช้ file descriptor 2
กลุ่มตัวเลือก: FD (TERMIOS,REG,SOCKET)
ดูเพิ่มเติม: FD

STDIN ใช้ file descriptor 0
กลุ่มตัวเลือก: FD (TERMIOS,REG,SOCKET)
ตัวเลือกที่มีประโยชน์: readbytes
ดูเพิ่มเติม: FD

STDIUM ใช้ file descriptor 0 สำหรับการอ่าน และ 1 สำหรับการเขียน
กลุ่มตัวเลือก: FD (TERMIOS,REG,SOCKET)
ตัวเลือกที่มีประโยชน์: readbytes
ดูเพิ่มเติม: FD

STDOUT ใช้ file descriptor 1
กลุ่มตัวเลือก: FD (TERMIOS,REG,SOCKET)
ดูเพิ่มเติม: FD

ระบบ:
แยกกระบวนการย่อยที่สร้างการสื่อสารกับกระบวนการหลักและ
เรียกใช้โปรแกรมที่ระบุด้วย system() โปรดทราบว่า
[สตริง] ต้องไม่มี ',' หรือ "!!" และอักขระเมตาของเชลล์นั้นอาจต้อง
ได้รับการคุ้มครอง หลังจากเริ่มโปรแกรมสำเร็จแล้ว โซแคท เขียนข้อมูลไปยัง stdin ของ
ประมวลผลและอ่านจาก stdout
กลุ่มตัวเลือก: FD,SOCKET,EXEC,FORK,TERMIOS
ตัวเลือกที่มีประโยชน์: เส้นทาง, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setid, ท่อ, sigint, sigquit
ดูเพิ่มเติม: EXEC

ทีซีพี: :
เชื่อมต่อกับ [บริการ TCP] บน [ที่อยู่ IP] โดยใช้ TCP/IP เวอร์ชัน 4 หรือ 6
ขึ้นอยู่กับข้อกำหนดของที่อยู่ การแก้ไขชื่อ หรือตัวเลือก pf
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,TCP,RETRY
ตัวเลือกที่มีประโยชน์: crnl, ผูก, pf, หมดเวลาเชื่อมต่อ, tos, mtudiscover, mss, nodelay,
nonblock, sourceport, ลองใหม่อีกครั้ง, readbytes
ดูเพิ่มเติมที่: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4: :
เช่นเดียวกับ TCP แต่รองรับเฉพาะโปรโตคอล IPv4 (ตัวอย่าง)
กลุ่มตัวเลือก: FD,SOCKET,IP4,TCP,RETRY

TCP6: :
เช่นเดียวกับ TCP แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,IP6,TCP,RETRY

TCP-ฟัง:
ฟังบน [บริการ TCP] และยอมรับการเชื่อมต่อ TCP/IP รุ่น IP คือ
4 หรือที่ระบุด้วยตัวเลือกที่อยู่ pf, ตัวเลือก socat (-4, -6) หรือ
ตัวแปรสภาพแวดล้อม SOCAT_DEFAULT_LISTEN_IP โปรดทราบว่าการเปิดที่อยู่นี้
มักจะบล็อกจนกว่าไคลเอ็นต์จะเชื่อมต่อ
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,TCP,RETRY
ตัวเลือกที่มีประโยชน์: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, mss,
su, reuseaddr, ลองใหม่, เจ๋ง-เขียน
ดูเพิ่มเติมที่: TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN,
OPENSL-LISTEN, TCP-CONNECT

TCP4-ฟัง:
เช่นเดียวกับ TCP-LISTEN แต่รองรับเฉพาะโปรโตคอล IPv4 (ตัวอย่าง)
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,TCP,RETRY

TCP6-ฟัง:
เช่นเดียวกับ TCP-LISTEN แต่รองรับเฉพาะโปรโตคอล IPv6
ตัวเลือกที่มีประโยชน์เพิ่มเติม: ipv6only
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,TCP,RETRY

ตุน[: / ]
สร้างอุปกรณ์ Linux TUN/TAP และเลือกกำหนดที่อยู่และ netmask
กำหนดโดยพารามิเตอร์ อินเทอร์เฟซเครือข่ายที่ได้เกือบจะพร้อมใช้งานโดย
กระบวนการอื่นๆ socat ทำหน้าที่ "ด้านลวด" ที่อยู่นี้ต้องอ่านและเขียน
เข้าถึงอุปกรณ์โคลนทันเนลโดยปกติ /dev/net/tun เช่นเดียวกับการอนุญาต
เพื่อตั้งค่า ioctl()s ตัวเลือกเสริม (Option) ถ้าขึ้น is จำเป็นต้องใช้ ไปยัง ทันที กระตุ้น
อินเตอร์เฟซ!
กลุ่มตัวเลือก: FD,NAMED,OPEN,TUN
ตัวเลือกที่มีประโยชน์: iff-up, tun-device, tun-name, tun-type, iff-no-pi
ดูเพิ่มเติม: ip-recv

UDP: :
เชื่อมต่อกับ [บริการ UDP] บน [ที่อยู่ IP] โดยใช้ UDP/IP เวอร์ชัน 4 หรือ 6
ขึ้นอยู่กับข้อกำหนดของที่อยู่ การแก้ไขชื่อ หรือตัวเลือก pf
โปรดทราบว่าเนื่องจากคุณสมบัติของโปรโตคอล UDP ไม่มีการเชื่อมต่อที่แท้จริง
ที่จัดตั้งขึ้น; ต้องส่งข้อมูลเพื่อ "เชื่อมต่อ" กับเซิร์ฟเวอร์และไม่มีการสิ้นสุดไฟล์
สภาพสามารถขนย้ายได้
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6
ตัวเลือกที่มีประโยชน์: ttl, tos, ผูก, ซอร์สพอร์ต, pf
ดูเพิ่มเติมที่: UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4: :
เช่นเดียวกับ UDP แต่รองรับเฉพาะโปรโตคอล IPv4
กลุ่มตัวเลือก: FD,SOCKET,IP4

UDP6: :
เช่นเดียวกับ UDP แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,IP6

UDP-ดาตาแกรม: :
ส่งข้อมูลขาออกไปยังที่อยู่ที่ระบุซึ่งอาจเป็นการออกอากาศโดยเฉพาะ
หรือที่อยู่แบบหลายผู้รับ แพ็คเก็ตที่มาถึงซ็อกเก็ตในพื้นที่จะถูกตรวจสอบสำหรับ
แก้ไขพอร์ตระยะไกลและหากที่อยู่ต้นทางตรงกับตัวเลือก RANGE หรือ TCPWRAP
ตัวอย่างเช่น ที่อยู่ประเภทนี้สามารถใช้สำหรับการนำแบบสมมาตรหรืออสมมาตรมาใช้ได้
การออกอากาศหรือการสื่อสารแบบหลายผู้รับ
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,RANGE
ตัวเลือกที่มีประโยชน์: ผูก, ช่วง, tcpwrap, ออกอากาศ, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-add-membership, ttl, tos, ซอร์สพอร์ต, pf
ดูเพิ่มเติมที่: UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV,
UDP-CONNECT, UDP-LISTEN, IP-ดาตาแกรม

UDP4-ดาตาแกรม: :
เช่นเดียวกับ UDP-DATAGRAM แต่รองรับเฉพาะโปรโตคอล IPv4 (ตัวอย่างที่ 1 ตัวอย่างที่ 2)
กลุ่มตัวเลือก: FD,SOCKET,IP4,RANGE

UDP6-ดาตาแกรม: :
เช่นเดียวกับ UDP-DATAGRAM แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,IP6,RANGE

UDP-ฟัง:
รอให้แพ็กเก็ต UDP/IP มาถึง [บริการ UDP] และ `เชื่อมต่อ' กลับไปที่
ผู้ส่ง. IP เวอร์ชันที่ยอมรับคือ 4 หรือเวอร์ชันที่ระบุด้วยตัวเลือก pf โปรด
โปรดทราบว่าเนื่องจากคุณสมบัติของโปรโตคอล UDP ไม่มีการสร้างการเชื่อมต่อที่แท้จริง ข้อมูล
ต้องมาจากเพียร์ก่อนและไม่สามารถขนส่งเงื่อนไขการสิ้นสุดไฟล์ได้
โปรดทราบว่าการเปิดที่อยู่นี้มักจะบล็อกจนกว่าไคลเอ็นต์จะเชื่อมต่อ
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6
ตัวเลือกที่มีประโยชน์: ส้อม, ผูก, ช่วง, pf
ดูเพิ่มเติมที่: UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-ฟัง:
เช่นเดียวกับ UDP-LISTEN แต่รองรับเฉพาะโปรโตคอล IPv4
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP4

UDP6-ฟัง:
เช่นเดียวกับ UDP-LISTEN แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,LISTEN,CHILD,RANGE,IP6

UDP-ส่ง: :
สื่อสารกับเพียร์ซ็อกเก็ตที่ระบุ กำหนดโดย [บริการ UDP] บน
[ที่อยู่ IP] โดยใช้ UDP/IP เวอร์ชัน 4 หรือ 6 ขึ้นอยู่กับที่อยู่
ข้อกำหนด ความละเอียดของชื่อ หรือตัวเลือก pf มันส่งแพ็กเก็ตไปและรับ
แพ็กเก็ตจากเพียร์ซ็อกเก็ตนั้นเท่านั้น ที่อยู่นี้ใช้ดาต้าแกรมอย่างมีประสิทธิภาพ
ลูกค้า. ทำงานได้ดีกับที่อยู่ของ socat UDP-RECVFROM และ UDP-RECV
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6
ตัวเลือกที่มีประโยชน์: ttl, tos, ผูก, ซอร์สพอร์ต, pf
ดูเพิ่มเติมที่: UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT,
UDP-ฟัง IP-SENDTO

UDP4-SENDTO: :
เช่นเดียวกับ UDP-SENDTO แต่รองรับเฉพาะโปรโตคอล IPv4
กลุ่มตัวเลือก: FD,SOCKET,IP4

UDP6-SENDTO: :
เช่นเดียวกับ UDP-SENDTO แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,IP6

UDP-RECVFROM:
สร้างซ็อกเก็ต UDP บน [บริการ UDP] โดยใช้ UDP/IP เวอร์ชัน 4 หรือ 6 ขึ้นอยู่กับ
บนตัวเลือก pf ได้รับหนึ่งแพ็คเก็ตจากเพียร์ที่ไม่ระบุและอาจส่งหนึ่งหรือ
แพ็กเก็ตคำตอบเพิ่มเติมสำหรับเพียร์นั้น โหมดนี้มีประโยชน์อย่างยิ่งกับตัวเลือกส้อม
โดยที่แต่ละแพ็กเก็ตที่มาถึง - จากเพียร์โดยพลการ - ถูกจัดการโดย sub . ของตัวเอง
กระบวนการ. ซึ่งช่วยให้ทำงานคล้ายกับเซิร์ฟเวอร์ที่ใช้ UDP ทั่วไป เช่น ntpd หรือ
ชื่อ. ที่อยู่นี้ทำงานได้ดีกับเพียร์ที่อยู่ socat UDP-SENDTO
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,CHILD,RANGE
ตัวเลือกที่มีประโยชน์: fork, ttl, tos, ผูก, ซอร์สพอร์ต, pf
ดูเพิ่มเติมที่: UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT,
UDP-LISTEN, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECVFROM:
เช่นเดียวกับ UDP-RECVFROM แต่รองรับเฉพาะโปรโตคอล IPv4
กลุ่มตัวเลือก: FD,SOCKET,IP4,CHILD,RANGE

UDP6-RECVFROM:
เช่นเดียวกับ UDP-RECVFROM แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,IP6,CHILD,RANGE

UDP-RECV:
สร้างซ็อกเก็ต UDP บน [บริการ UDP] โดยใช้ UDP/IP เวอร์ชัน 4 หรือ 6 ขึ้นอยู่กับ
บนตัวเลือก pf รับแพ็กเก็ตจากเพียร์ที่ไม่ระบุจำนวนมากและรวม
ข้อมูล. ไม่มีการตอบกลับเป็นไปได้ ใช้งานได้ดีกับ เช่น ที่อยู่ UDP-SENDTO ของ socat
เพื่อน; มันทำงานคล้ายกับเซิร์ฟเวอร์ syslog
กลุ่มตัวเลือก: FD,SOCKET,IP4,IP6,RANGE
ตัวเลือกที่มีประโยชน์: fork, pf, bind, sourceport, ttl, tos
ดูเพิ่มเติมที่: UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN,
IP-RECV, UNIX-RECV

UDP4-RECV:
เช่นเดียวกับ UDP-RECV แต่รองรับเฉพาะโปรโตคอล IPv4
กลุ่มตัวเลือก: FD,SOCKET,IP4,RANGE

UDP6-RECV:
เช่นเดียวกับ UDP-RECV แต่รองรับเฉพาะโปรโตคอล IPv6
กลุ่มตัวเลือก: FD,SOCKET,IP6,RANGE

UNIX-CONNECT:
เชื่อมต่อกับ สมมติว่าเป็นซ็อกเก็ตโดเมน UNIX ถ้า ไม่
มีอยู่ นี่เป็นข้อผิดพลาด ถ้า ไม่ใช่ซ็อกเก็ตโดเมน UNIX นี่คือ an
ข้อผิดพลาด; ถ้า เป็นซ็อกเก็ตโดเมน UNIX แต่ไม่มีกระบวนการรับฟัง นี่คือ
ข้อผิดพลาด
กลุ่มตัวเลือก: FD,SOCKET,NAMED,RETRY,UNIX
) ตัวเลือกที่มีประโยชน์: bind
ดูเพิ่มเติมที่: UNIX-LISTEN, UNIX-SENDTO, TCP

UNIX-ฟัง:
ฟังบน ใช้ซ็อกเก็ตสตรีมโดเมน UNIX และยอมรับการเชื่อมต่อ
ถ้า มีอยู่และไม่ใช่ซ็อกเก็ต นี่เป็นข้อผิดพลาด ถ้า มีอยู่
และเป็นซ็อกเก็ตโดเมน UNIX การผูกกับที่อยู่ล้มเหลว (ใช้ option
ยกเลิกการเชื่อมโยงก่อน!). โปรดทราบว่าการเปิดที่อยู่นี้มักจะบล็อกจนกว่าลูกค้า
เชื่อมต่อ เริ่มต้นด้วย socat เวอร์ชัน 1.4.3 รายการระบบไฟล์จะถูกลบออก
เมื่อที่อยู่นี้ถูกปิด (แต่ดูตัวเลือก unlink-close) (ตัวอย่าง)
กลุ่มตัวเลือก: FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
ตัวเลือกที่มีประโยชน์: fork, umask, mode, user, group, unlink-early
ดูเพิ่มเติมที่: UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO:
สื่อสารกับเพียร์ซ็อกเก็ตที่ระบุ กำหนดโดย [ ] สมมติว่าเป็น
ซ็อกเก็ตดาตาแกรมโดเมน UNIX มันส่งแพ็กเก็ตไปและรับแพ็กเก็ตจากสิ่งนั้น
ซ็อกเก็ตเพียร์เท่านั้น โปรดทราบว่าอาจจำเป็นต้องผูกซ็อกเก็ตท้องถิ่น
ไปยังที่อยู่ (เช่น /tmp/sock1 ซึ่งต้องไม่มีมาก่อน) ที่อยู่นี้ type
ทำงานได้ดีกับ socat UNIX-RECVFROM และ UNIX-RECV address peers
กลุ่มตัวเลือก: FD,SOCKET,NAMED,UNIX
ตัวเลือกที่มีประโยชน์: ผูก
ดูเพิ่มเติมที่: UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECVFROM:
สร้างซ็อกเก็ตดาตาแกรมโดเมน UNIX [ ]. รับหนึ่งซองและเมย์
ส่งแพ็กเก็ตคำตอบอย่างน้อยหนึ่งชุดไปยังเพียร์นั้น โหมดนี้มีประโยชน์อย่างยิ่ง
ด้วยตัวเลือกส้อมที่แต่ละแพ็กเก็ตที่มาถึง - จากเพียร์โดยพลการ - จัดการโดย
กระบวนการย่อยของตัวเอง ที่อยู่นี้ทำงานได้ดีกับเพียร์ที่อยู่ socat UNIX-SENDTO
กลุ่มตัวเลือก: FD,SOCKET,NAMED,CHILD,UNIX
ตัวเลือกที่มีประโยชน์: ส้อม
ดูเพิ่มเติมที่: UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV:
สร้างซ็อกเก็ตดาตาแกรมโดเมน UNIX [ ]. รับแพ็กเก็ตจากหลาย ๆ
เพียร์ที่ไม่ระบุและรวมข้อมูล ไม่มีการตอบกลับเป็นไปได้ อาจเป็นได้ เช่น
ระบุโดย socat UNIX-SENDTO ที่อยู่เพียร์ มันทำงานคล้ายกับsyslog
เซิร์ฟเวอร์ กลุ่มตัวเลือก: FD,SOCKET,NAMED,UNIX
ดูเพิ่มเติมที่: UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

UNIX-ไคลเอนต์:
สื่อสารกับเพียร์ซ็อกเก็ตที่ระบุ กำหนดโดย [ ] สมมติว่าเป็น
ซ็อกเก็ตโดเมน UNIX ขั้นแรกพยายามเชื่อมต่อ และหากล้มเหลว จะถือว่ามันคือ
ซ็อกเก็ตดาตาแกรมจึงสนับสนุนทั้งสองประเภท
กลุ่มตัวเลือก: FD,SOCKET,NAMED,UNIX
ตัวเลือกที่มีประโยชน์: ผูก
ดูเพิ่มเติมที่: UNIX-CONNECT, UNIX-SENDTO, GOPEN

บทคัดย่อ-เชื่อมต่อ:

บทคัดย่อ-ฟัง:

บทคัดย่อ-ส่ง:

บทคัดย่อ-RECVFROM:

บทคัดย่อ-RECV:

บทคัดย่อ-ไคลเอนต์:
ที่อยู่ ABSTRACT เกือบจะเหมือนกับที่อยู่ UNIX ที่เกี่ยวข้อง ยกเว้น
ว่าไม่ได้ระบุถึงซ็อกเก็ตที่ใช้ระบบไฟล์ แต่เป็นโดเมน UNIX สำรอง
พื้นที่ที่อยู่ ในการเก็บถาวรนี้ สตริงที่อยู่ซ็อกเก็ตจะขึ้นต้นด้วย "\0"
ภายใน คุณลักษณะนี้มีให้ใช้งาน (เท่านั้น) บน Linux กลุ่มตัวเลือกเหมือนกัน
เช่นเดียวกับที่อยู่ UNIX ที่เกี่ยวข้อง ยกเว้นที่อยู่ ABSTRACT ไม่ใช่
สมาชิกของกลุ่ม NAMED

ที่อยู่ OPTIONS


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

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

ตัวเลือกที่อยู่มีประเภทข้อมูลที่ค่าต้องสอดคล้อง ทุกตัวเลือกที่อยู่
ประกอบด้วยคีย์เวิร์ดหรือคีย์เวิร์ดตามด้วย "=value" โดยที่ค่าต้องสอดคล้องกับ
ประเภทตัวเลือก ตัวเลือกที่อยู่บางตัวจัดการพารามิเตอร์ของการเรียกระบบ เช่น,
การซิงค์ตัวเลือกตั้งค่าสถานะ O_SYNC ด้วยการเรียก open() ตัวเลือกอื่นๆ ทำให้เกิดระบบหรือ
โทรห้องสมุด; เช่น ด้วยตัวเลือก `ttl=value' setsockopt(fd, SOL_IP, IP_TTL, value,
ใช้การเรียก sizeof(int)) ตั้งค่าตัวเลือกอื่นๆ ภายใน โซแคท ตัวแปรที่ใช้
ระหว่างการถ่ายโอนข้อมูล เช่น `crnl' ทำให้เกิดการแปลงอักขระอย่างชัดเจน ไม่กี่ตัวเลือก
มีการใช้งานที่ซับซ้อนมากขึ้น เช่น su-d (substuser-delayed) สอบถามผู้ใช้บางคนและ
ข้อมูลกลุ่ม จัดเก็บ และนำไปใช้ภายหลังหลังจากการเรียก chroot() ที่เป็นไปได้

หากมีหลายตัวเลือกให้กับที่อยู่ ลำดับของตัวเลือกเหล่านั้นในข้อกำหนดที่อยู่
มี (เกือบ) ไม่มีผลกระทบต่อลำดับของการดำเนินการ/แอปพลิเคชัน แทนที่, โซแคท มี
สร้างขึ้นใน ตัวเลือก ระยะ แบบจำลองที่พยายามนำตัวเลือกต่างๆ มาใช้ในลำดับที่เป็นประโยชน์ บาง
ตัวเลือกมีอยู่ในรูปแบบต่างๆ (เช่น ยกเลิกการลิงก์ ยกเลิกการลิงก์ก่อน ยกเลิกการลิงก์ล่าช้า) เพื่อควบคุม
เวลาดำเนินการของพวกเขา

หากระบุตัวเลือกเดียวกันมากกว่าหนึ่งครั้งในข้อกำหนดที่อยู่เดียวด้วย
ค่าเท่ากันหรือต่างกัน ผลขึ้นอยู่กับชนิดของออปชั่น ตัวเลือกส่งผลให้
การเรียกใช้ฟังก์ชันเช่น setsockopt() ทำให้เกิดการเรียกใช้หลายครั้ง ด้วยตัวเลือกที่ตั้งไว้
พารามิเตอร์สำหรับการโทรที่ต้องการ เช่น open() หรือตั้งค่าแฟล็กภายใน ค่าของlast
ออปชั่นเกิดขึ้นได้อย่างมีประสิทธิภาพ

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

ย่อหน้าต่อไปนี้จะแนะนำเพียงตัวเลือกที่อยู่ทั่วไป เพิ่มเติม
ข้อมูลอ้างอิงที่ครอบคลุมและเพื่อค้นหาข้อมูลเกี่ยวกับชื่อตัวเลือกบัญญัติ ชื่อนามแฝง
เฟสตัวเลือกและแพลตฟอร์มดูไฟล์ xio ช่วยด้วย.

FD ตัวเลือก กลุ่ม

กลุ่มตัวเลือกนี้ประกอบด้วยตัวเลือกที่ใช้กับตัวอธิบายไฟล์รูปแบบ UN*X ไม่ใช่
ไม่ว่าจะถูกสร้างขึ้นมาอย่างไร เพราะปัจจุบัน โซแคท ประเภทที่อยู่เป็นตัวอธิบายไฟล์
ตามตัวเลือกเหล่านี้อาจนำไปใช้กับที่อยู่ใดก็ได้
หมายเหตุ: ตัวเลือกเหล่านี้บางส่วนเป็นสมาชิกของกลุ่มตัวเลือกอื่นที่มีให้
กลไกอื่นที่ไม่ใช่ fd สำหรับตัวเลือกเหล่านี้ ขึ้นอยู่กับประเภทที่อยู่จริง
และกลุ่มตัวเลือกที่ใช้กลไก กลไกที่สองที่ไม่ใช่ fd คือ
จัดลำดับความสำคัญ

cloexec=
ตั้งค่าสถานะ FD_CLOEXEC ด้วยการเรียกระบบ fcntl() เป็นค่า . หากตั้งค่าไว้ ค่า
file descriptor ถูกปิดเมื่อเรียกฟังก์ชันครอบครัว exec() โซกัต จัดการภายใน
แฟล็กนี้สำหรับ fds ที่มันควบคุม ดังนั้นในกรณีส่วนใหญ่จะไม่จำเป็นต้องใช้
ตัวเลือกนี้

ตั้งค่า พยายามตั้งค่าล็อกการเขียนตามที่เห็นสมควรให้กับทั้งไฟล์โดยใช้ fcntl(fd,
F_SETLK, ...) เรียกระบบ หากไฟล์ถูกล็อกอยู่แล้ว การโทรนี้จะส่งผลให้
ข้อผิดพลาด. บน Linux เมื่อสิทธิ์ของไฟล์สำหรับกลุ่มคือ "S" (gx,g+s) และ
ระบบไฟล์ถูกติดตั้งในเครื่องด้วยตัวเลือก "mand" ซึ่งจำเป็นต้องล็อก เช่น
ป้องกันกระบวนการอื่น ๆ จากการเปิดไฟล์

setlkw พยายามตั้งค่าล็อกการเขียนรอตามดุลยพินิจให้กับทั้งไฟล์โดยใช้
fcntl(fd, F_SETLKW, ...) เรียกระบบ หากไฟล์ถูกล็อคแล้ว การโทรนี้
บล็อก ดูตัวเลือก setlk สำหรับข้อมูลเกี่ยวกับการกำหนดให้ล็อกนี้บังคับ

setlk-ถ
พยายามตั้งค่าล็อคการอ่านตามที่เห็นสมควรให้กับทั้งไฟล์โดยใช้ fcntl(fd,
F_SETLK, ...) เรียกระบบ หากไฟล์ถูกล็อกการเขียนแล้ว การโทรนี้จะส่งผลให้
ในข้อผิดพลาด ดูตัวเลือก setlk สำหรับข้อมูลเกี่ยวกับการกำหนดให้ล็อกนี้บังคับ

setlkw-ถ
พยายามตั้งค่าล็อกการอ่านแบบรอตัดสินใจเป็นไฟล์ทั้งหมดโดยใช้ปุ่ม
fcntl(fd, F_SETLKW, ...) เรียกระบบ หากไฟล์ถูกล็อกการเขียนไว้แล้ว this
บล็อคการโทร ดูตัวเลือก setlk สำหรับข้อมูลเกี่ยวกับการกำหนดให้ล็อกนี้บังคับ

ฝูงอดีต
พยายามตั้งค่าล็อคคำแนะนำพิเศษในการบล็อกไฟล์โดยใช้ flock(fd,
LOCK_EX) เรียกระบบ โซกัต แฮงค์ในการโทรนี้หากไฟล์ถูกล็อกโดยผู้อื่น
กระบวนการ

ฝูง-ex-nb
พยายามตั้งค่าล็อคคำแนะนำพิเศษที่ไม่ปิดกั้นให้กับไฟล์โดยใช้ฝูง (fd,
LOCK_EX|LOCK_NB) เรียกระบบ หากไฟล์ถูกล็อคแล้ว ตัวเลือกนี้จะส่งผลให้
ข้อผิดพลาด

ฝูง-sh
พยายามตั้งค่าล็อคคำแนะนำที่แชร์การบล็อกให้กับไฟล์โดยใช้ flock(fd,
LOCK_SH) เรียกระบบ โซกัต แฮงค์ในการโทรนี้หากไฟล์ถูกล็อกโดยผู้อื่น
กระบวนการ

ฝูง-sh-nb
พยายามตั้งค่าล็อคคำแนะนำที่ใช้ร่วมกันแบบไม่บล็อกให้กับไฟล์โดยใช้ flock(fd,
LOCK_SH|LOCK_NB) เรียกระบบ หากไฟล์ถูกล็อคแล้ว ตัวเลือกนี้จะส่งผลให้
ข้อผิดพลาด

ล็อค ตั้งค่าการล็อคการบล็อกในไฟล์ ใช้กลไกการตกตะกอนหรือฝูงขึ้นอยู่กับ
ความพร้อมใช้งานบนแพลตฟอร์มเฉพาะ หากใช้ได้ทั้งคู่ ตัวแปร POSIX
(setlkw) ใช้

ผู้ใช้=
ตั้งค่า (เจ้าของ)สายธาร หากที่อยู่นั้นเป็นสมาชิกของ NAMED
กลุ่มตัวเลือก โซแคท ใช้การเรียกระบบ chown() หลังจากเปิดไฟล์หรือผูก
ไปยังซ็อกเก็ตโดเมน UNIX (สภาวะการแข่งขัน!) โดยไม่มีรายการระบบไฟล์ โซแคท ชุด
ผู้ใช้สตรีมโดยใช้การเรียกระบบ fchown() การโทรเหล่านี้อาจต้องใช้
สิทธิ์รูท

ผู้ใช้ล่าช้า=
ตั้งเจ้าของ fd เป็น ด้วยการเรียกระบบ fchown() หลังจากเปิดหรือ
การเชื่อมต่อช่อง สิ่งนี้มีประโยชน์เฉพาะกับรายการระบบไฟล์

กลุ่ม=
ตั้งค่า ของกระแสน้ำ หากที่อยู่นั้นเป็นสมาชิกของตัวเลือก NAMED
กลุ่ม, โซแคท ใช้การเรียกระบบ chown() หลังจากเปิดไฟล์หรือผูกกับ
ซ็อกเก็ตโดเมน UNIX (สภาวะการแข่งขัน!) โดยไม่มีรายการระบบไฟล์ โซแคท ตั้งค่า
กลุ่มของสตรีมที่มีการเรียกระบบ fchown() การโทรเหล่านี้อาจต้องใช้กลุ่ม
การเป็นสมาชิกหรือสิทธิ์รูท

กลุ่มสาย=
ตั้งค่ากลุ่มของ fd เป็น ด้วยการเรียกระบบ fchown() หลังจากเปิดหรือ
การเชื่อมต่อช่อง สิ่งนี้มีประโยชน์เฉพาะกับรายการระบบไฟล์

โหมด=
ตั้งค่า [mode_t] (สิทธิ์) ของสตรีม หากที่อยู่นั้นเป็นสมาชิกของ
กลุ่มตัวเลือก NAMED และใช้การเรียก open() หรือ creat() โหมดถูกนำไปใช้
กับสิ่งเหล่านี้. หากที่อยู่นั้นเป็นสมาชิกของกลุ่มตัวเลือก NAMED โดยไม่ได้ใช้สิ่งเหล่านี้
ระบบโทร, โซแคท ใช้การเรียกระบบ chmod() หลังจากเปิดรายการระบบไฟล์
หรือผูกกับซ็อกเก็ตโดเมน UNIX (สภาวะการแข่งขัน!) มิฉะนั้น, โซแคท ตั้งค่า
โหมดของสตรีมโดยใช้ fchmod() การโทรเหล่านี้อาจต้องการความเป็นเจ้าของหรือรูท
สิทธิพิเศษ.

ดัด-ปลาย=
ตั้งค่าการอนุญาตของ fd เป็นค่า [mode_t] โดยใช้ระบบ fchmod()
โทรหลังจากเปิดหรือเชื่อมต่อช่อง สิ่งนี้มีประโยชน์เฉพาะกับระบบไฟล์
รายการ.

ต่อท้าย=
เขียนข้อมูลไปยังจุดสิ้นสุดจริงของไฟล์เสมอ หากที่อยู่นั้นเป็นสมาชิกของ OPEN
กลุ่มตัวเลือก โซแคท ใช้แฟล็ก O_APPEND ด้วยการเรียกระบบ open() (ตัวอย่าง)
มิฉะนั้น, โซแคท ใช้การเรียก fcntl(fd, F_SETFL, O_APPEND)

ไม่บล็อค=
พยายามเปิดหรือใช้ไฟล์ในโหมดไม่บล็อก ผลกระทบเพียงอย่างเดียวของมันคือ
การเชื่อมต่อ () การโทรของที่อยู่ TCP ไม่ได้บล็อกและการเปิดไปป์ที่มีชื่อสำหรับ
การอ่านไม่ปิดกั้น หากที่อยู่นั้นเป็นสมาชิกของกลุ่มตัวเลือก OPEN โซแคท
ใช้แฟล็ก O_NONBLOCK ด้วยการเรียกระบบ open() มิฉะนั้น, โซแคท ใช้กับ
fcntl(fd, F_SETFL, O_NONBLOCK) โทร

ไบนารี เปิดไฟล์ในโหมดไบนารีเพื่อหลีกเลี่ยงการแปลงตัวสิ้นสุดบรรทัดโดยนัย
(ซิกวิน).

ข้อความ เปิดไฟล์ในโหมดข้อความเพื่อบังคับการแปลงตัวสิ้นสุดบรรทัดโดยนัย (Cygwin)

ไม่มีมรดก
ไม่ให้ไฟล์นี้เปิดอยู่ในกระบวนการเกิด (Cygwin)

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

ปิดท้าย
เปลี่ยนวิธีการ (ขึ้นอยู่กับที่อยู่) ในการสิ้นสุดการเชื่อมต่อเป็นเพียงแค่ปิด
คำอธิบายไฟล์ สิ่งนี้มีประโยชน์เมื่อจะใช้การเชื่อมต่อซ้ำโดยหรือแชร์
กับกระบวนการอื่นๆ (ตัวอย่าง)
โดยปกติการเชื่อมต่อซ็อกเก็ตจะสิ้นสุดด้วย การปิด(2) ซึ่งสิ้นสุด
socket แม้ว่าจะถูกแชร์โดยหลายโพรเซสก็ตาม ปิดการขาย(2) "ยกเลิกการเชื่อมโยง" ซ็อกเก็ต
จากกระบวนการแต่ยังคงใช้งานได้ตราบใดที่ยังมีลิงค์จากอื่นๆ
กระบวนการ
ในทำนองเดียวกันเมื่อที่อยู่ของประเภท EXEC หรือ SYSTEM สิ้นสุดลง socat มักจะจะ
ฆ่ากระบวนการย่อยอย่างชัดเจน ด้วยตัวเลือกนี้ มันก็แค่ปิดไฟล์
คำอธิบาย

ปิด-ไม่มี
เปลี่ยนวิธีการ (ขึ้นอยู่กับที่อยู่) ในการปิดส่วนการเขียนของa
การเชื่อมต่อที่จะไม่ทำอะไรเลย

ปิดลง
เปลี่ยนวิธีการ (ขึ้นอยู่กับที่อยู่) ในการปิดส่วนการเขียนของa
การเชื่อมต่อกับ shutdown\(fd, SHUT_WR) มีประโยชน์กับซ็อกเก็ตเท่านั้น

ปิด-ปิด
เปลี่ยนวิธีการ (ขึ้นอยู่กับที่อยู่) ในการปิดส่วนการเขียนของa
การเชื่อมต่อเพื่อปิด\(fd)

ปิด-null
เมื่อที่อยู่หนึ่งระบุ EOF โซแคท จะส่งแพ็กเก็ตขนาดศูนย์ไปที่ write
ช่องทางของที่อยู่อื่นเพื่อโอนเงื่อนไข EOF สิ่งนี้มีประโยชน์กับ UDP
และโปรโตคอลดาตาแกรมอื่นๆ ได้รับการทดสอบกับ netcat และ socat ด้วย option
null-eof

null-eof
ปกติ โซแคท จะละเว้นแพ็กเก็ตว่าง (เพย์โหลดขนาดศูนย์) ที่มาถึงดาตาแกรม
ซ็อกเก็ตดังนั้นจึงสามารถสแกนพอร์ตได้ ด้วยตัวเลือกนี้ โซแคท แปลความว่างเปล่า
แพ็กเก็ตดาตาแกรมเป็นตัวบ่งชี้ EOF (ดูปิด-null)

ioctl-โมฆะ=
เรียก ioctl() โดยมีค่าคำขอเป็นอาร์กิวเมนต์ที่สอง และ NULL เป็นอาร์กิวเมนต์ที่สาม
ตัวเลือกนี้อนุญาตให้ใช้ ioctls ที่ไม่ได้ใช้งานอย่างชัดแจ้งใน socat

ioctl-int= :
เรียก ioctl() โดยมีค่าคำขอเป็นอาร์กิวเมนต์ที่สองและค่าจำนวนเต็มเป็น
อาร์กิวเมนต์ที่สาม

ioctl-intp= :
เรียก ioctl() โดยมีค่าคำขอเป็นอาร์กิวเมนต์ที่สองและตัวชี้ไปที่
ค่าจำนวนเต็มเป็นอาร์กิวเมนต์ที่สาม

ioctl-bin= :
เรียก ioctl() โดยมีค่าคำขอเป็นอาร์กิวเมนต์ที่สองและตัวชี้ไปยังค่าที่กำหนด
ค่าข้อมูลเป็นอาร์กิวเมนต์ที่สาม ต้องระบุข้อมูลนี้ใน รูปร่าง.

ioctl-string= :
เรียก ioctl() โดยมีค่าคำขอเป็นอาร์กิวเมนต์ที่สองและตัวชี้ไปยังค่าที่กำหนด
string เป็นอาร์กิวเมนต์ที่สาม รูปร่าง.

ชื่อ ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้ใช้ได้กับรายการระบบไฟล์
ดูตัวเลือกผู้ใช้ กลุ่ม และโหมด

ผู้ใช้ต้น=
เปลี่ยน (เจ้าของ) ของรายการระบบไฟล์ก่อนเข้าถึงโดยใช้
chown() เรียกระบบ การโทรนี้อาจต้องใช้สิทธิ์รูท

กลุ่มต้น=
เปลี่ยน ของรายการระบบไฟล์ก่อนเข้าถึงโดยใช้ chown()
ระบบเรียก. การโทรนี้อาจต้องการการเป็นสมาชิกกลุ่มหรือสิทธิ์รูท

ดัด-เร็ว=
เปลี่ยน [mode_t] ของรายการระบบไฟล์ก่อนเข้าถึงโดยใช้
chmod() การเรียกระบบ การโทรนี้อาจต้องการความเป็นเจ้าของหรือสิทธิ์รูท

อูมาสก์=
ตั้งค่า umask ของกระบวนการเป็น [mode_t] ก่อนเข้าระบบไฟล์
รายการ (มีประโยชน์กับซ็อกเก็ตโดเมน UNIX!) การโทรนี้อาจส่งผลกระทบเพิ่มเติมทั้งหมด
การดำเนินงานของ โซแคท กระบวนการ!

ยกเลิกการเชื่อมโยงก่อน
ยกเลิกการเชื่อมโยง (ลบ) ไฟล์ก่อนเปิดและแม้กระทั่งก่อนใช้ user-early
เป็นต้น

ยกเลิกการเชื่อมโยง ยกเลิกการเชื่อมโยง (ลบ) ไฟล์ก่อนเข้าถึง แต่หลังจากผู้ใช้เร็ว เป็นต้น

ยกเลิกการเชื่อมโยงล่าช้า
ยกเลิกการลิงก์ (ลบ) ไฟล์หลังจากเปิดไฟล์แล้ว เพื่อไม่ให้ผู้อื่นเข้าถึงได้
ดำเนินการหลังจากสภาพการแข่งขันสั้น

ยกเลิกการเชื่อมโยงปิด
ลบรายการระบบไฟล์ที่อยู่เมื่อปิดที่อยู่ สำหรับท่อที่มีชื่อ
ฟังซ็อกเก็ตโดเมน unix และลิงก์สัญลักษณ์ของที่อยู่ pty ค่าเริ่มต้น
คือ 1; สำหรับไฟล์ที่สร้าง ไฟล์ที่เปิด ไฟล์ที่เปิดทั่วไป และโดเมนยูนิกซ์ของไคลเอ็นต์
ซ็อกเก็ตเริ่มต้นคือ 0

เปิด ตัวเลือก กลุ่ม

ตัวเลือกกลุ่ม OPEN อนุญาตให้ตั้งค่าสถานะด้วยการเรียกระบบ open() เช่น ตัวเลือก
`creat' ตั้งค่าสถานะ O_CREAT
ดูตัวเลือกต่อท้ายและไม่บล็อก

สร้าง=
สร้างไฟล์หากไม่มีอยู่ (ตัวอย่าง)

dsync=
บล็อกการเรียก write() จนกว่า metainfo จะถูกเขียนลงสื่อจริง

ไม่รวม=
ด้วยตัวเลือก creat หากมีไฟล์อยู่ แสดงว่าเป็นข้อผิดพลาด

ไฟล์ขนาดใหญ่=
บนระบบ 32 บิต อนุญาตให้ใช้ไฟล์ที่มีขนาดใหญ่กว่า 2^31 ไบต์

ตอนเที่ยง
ตั้งค่าตัวเลือก O_NOATIME ดังนั้นการอ่านจึงไม่เปลี่ยนการประทับเวลาการเข้าถึง

น็อคตี้=
ไม่ทำให้ไฟล์นี้เป็นเทอร์มินัลการควบคุม

nofollow=
ไม่ติดตามลิงก์สัญลักษณ์

nshare=
ไม่อนุญาตให้แชร์ไฟล์นี้กับกระบวนการอื่น

rshare=
ไม่อนุญาตให้กระบวนการอื่นเปิดไฟล์นี้เพื่อเขียน

rsync=
บล็อกการเขียน () จนกว่า metainfo จะถูกเขียนลงสื่อจริง

ซิงค์=
บล็อกการเขียน () จนกว่าข้อมูลจะถูกเขียนลงสื่อจริง

rdonly=
เปิดไฟล์สำหรับอ่านเท่านั้น

ผิด=
เปิดไฟล์เพื่อเขียนเท่านั้น

ท้ายรถ ตัดทอนไฟล์ให้มีขนาด 0 ในระหว่างการเปิด

REG และ BLK ตัวเลือก กลุ่ม

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

แสวงหา=
ใช้ lseek(fd, , SEEK_SET) (หรือ lseek64 ) การเรียกระบบดังนั้น
การวางตำแหน่งตัวชี้ไฟล์ไปที่ [off_t หรือ off64_t] โปรดทราบ
ว่าค่าที่หายไปเริ่มต้นเป็น 1 ไม่ใช่ 0

แสวงหา-cur=
ใช้ lseek(fd, , SEEK_CUR) (หรือ lseek64 ) การเรียกระบบดังนั้น
การวางตำแหน่งตัวชี้ไฟล์ [off_t หรือ off64_t] ไบต์เทียบกับของมัน
ตำแหน่งปัจจุบัน (ซึ่งมักจะเป็น 0) โปรดทราบว่าค่าที่ขาดหายไปเริ่มต้นเป็น
1 ไม่ใช่ 0

แสวงหาปลาย=
ใช้ lseek(fd, , SEEK_END) (หรือ lseek64 ) การเรียกระบบดังนั้น
การวางตำแหน่งตัวชี้ไฟล์ [off_t หรือ off64_t] ไบต์เทียบกับ
ไฟล์สิ้นสุดปัจจุบัน โปรดทราบว่าค่าเริ่มต้นที่ขาดหายไปคือ 1 ไม่ใช่ 0

ftruncate=
ใช้ ftruncate(fd, ) (หรือ ftruncate64 ถ้ามี) การเรียกระบบดังนั้น
ตัดทอนไฟล์ที่ตำแหน่ง [off_t หรือ off64_t] โปรดทราบว่า a
ค่าเริ่มต้นที่ขาดหายไปเป็น 1 ไม่ใช่ 0

secrm=

unrm=

compr=

ext2-sync=

ไม่เปลี่ยนรูป=

ext2-append=

nodump=

ext2-noatime=

ข้อมูลวารสาร =

notail=

dirsync=
ตัวเลือกเหล่านี้เปลี่ยนแอตทริบิวต์ของไฟล์ที่ไม่ได้มาตรฐานในระบบปฏิบัติการและไฟล์
ระบบที่รองรับคุณสมบัติเหล่านี้ เช่น Linux ที่มี ext2fs, ext3fs หรือ reiserfs
ดู man 1 chattr สำหรับข้อมูลเกี่ยวกับตัวเลือกเหล่านี้ โปรดทราบว่าอาจมี
สภาวะการแข่งขันระหว่างการสร้างไฟล์และการใช้ตัวเลือกเหล่านี้

กระบวนการ ตัวเลือก กลุ่ม

ตัวเลือกของกลุ่มนี้เปลี่ยนคุณสมบัติของกระบวนการแทนที่จะส่งผลกระทบเพียงข้อมูลเดียว
ช่อง. สำหรับที่อยู่ EXEC และ SYSTEM และสำหรับที่อยู่ประเภท LISTEN และ CONNECT ด้วย
อ็อพชัน FORK อ็อพชันเหล่านี้ใช้กับโปรเซสลูกแทนที่จะเป็นโปรเซส socat หลัก

chroot=
ดำเนินการ chroot() ถึง หลังจากประมวลผลที่อยู่
(ตัวอย่าง). การโทรนี้อาจต้องใช้สิทธิ์รูท

chroot-early=
ดำเนินการ chroot() ถึง ก่อนเปิดที่อยู่ การโทรนี้
อาจต้องใช้สิทธิ์รูท

setgid=
เปลี่ยนหลัก ของกระบวนการหลังจากประมวลผลที่อยู่ การโทรนี้
อาจต้องใช้สิทธิ์รูท โปรดทราบว่าตัวเลือกนี้ไม่ดรอปอื่นๆ
สิทธิพิเศษที่เกี่ยวข้องกับกลุ่ม

setgid-ต้น=
เช่นเดียวกับ setgit แต่ดำเนินการก่อนเปิดที่อยู่

setui=
เปลี่ยน (เจ้าของ) ของกระบวนการหลังการประมวลผลที่อยู่ การโทรนี้
อาจต้องใช้สิทธิ์รูท โปรดทราบว่าตัวเลือกนี้ไม่ดรอป group
สิทธิพิเศษที่เกี่ยวข้อง ตรวจสอบว่าตัวเลือก su ตรงกับความต้องการของคุณหรือไม่

setuid-ต้น=
เช่นเดียวกับ setuid แต่ดำเนินการก่อนเปิดที่อยู่

ซู=
เปลี่ยน (เจ้าของ) และกลุ่มของกระบวนการหลังจากประมวลผลที่อยู่
(ตัวอย่าง). การโทรนี้อาจต้องใช้สิทธิ์รูท

su-d=
ชื่อย่อสำหรับ substuser ล่าช้า เปลี่ยน (เจ้าของ) และกลุ่มของ
ดำเนินการหลังจากประมวลผลที่อยู่ (ตัวอย่าง) ผู้ใช้และกลุ่มของเขาคือ
ดึง ก่อน chroot() ที่เป็นไปได้ การโทรนี้อาจต้องใช้สิทธิ์รูท

setpgid=
ทำให้กระบวนการเป็นสมาชิกของกลุ่มกระบวนการที่ระบุ . หากไม่มีค่าเป็น
กำหนดหรือถ้าค่าเป็น 0 หรือ 1 กระบวนการจะกลายเป็นผู้นำของกระบวนการใหม่
กลุ่ม

เซ็ตซิด ทำให้กระบวนการเป็นผู้นำของเซสชันใหม่ (ตัวอย่าง)

อ่าน ตัวเลือก กลุ่ม

เนื่องจากข้อจำกัดด้านสิทธิ์การใช้งาน คุณลักษณะ readline ถูกปิดใช้งานใน Debian (ดู BUGS)
ตัวเลือกเหล่านี้ใช้กับประเภทที่อยู่แบบอ่านบรรทัด

ประวัติศาสตร์=
อ่านและเขียนประวัติจาก/ถึง (ตัวอย่าง).

ไม่พร้อม
ตั้งแต่เวอร์ชัน 1.4.0 เป็นต้นไป socat จะพยายามกำหนดพรอมต์ - นั่นคือ
ผ่านไปยัง readline call - โดยจำบรรทัดสุดท้ายที่ไม่สมบูรณ์ของ
เอาท์พุท ด้วยตัวเลือกนี้ socat จะไม่ส่งคำสั่งให้ readline ดังนั้นจึงเริ่มต้นขึ้น
การแก้ไขบรรทัดในคอลัมน์แรกของเทอร์มินัล

noecho=
ระบุรูปแบบปกติสำหรับพรอมต์ที่ป้องกันไม่ให้อินพุต line . ต่อไปนี้
จากการแสดงบนหน้าจอและจากการถูกเพิ่มเข้าไปในประวัติ พรอมต์
ถูกกำหนดเป็นข้อความที่ส่งออกไปยังที่อยู่ readline หลังจากล่าสุด
อักขระขึ้นบรรทัดใหม่และก่อนที่จะพิมพ์อักขระอินพุต แพทเทิร์นเป็นประจำ
นิพจน์ เช่น "^[Pp]assword:.*$" หรือ "([Uu]ser:|[Pp]assword:)" ดู regex\(7)
เพื่อดูรายละเอียด (ตัวอย่าง)

พรอมต์=
ส่งสตริงตามที่แจ้งไปยังฟังก์ชัน readline readline พิมพ์พรอมต์นี้
เมื่อก้าวผ่านประวัติศาสตร์ หากสตริงนี้ตรงกับพรอมต์คงที่ที่ออก
โดยโปรแกรมแบบโต้ตอบที่อยู่ socat อื่น ๆ รูปลักษณ์และความรู้สึกที่สอดคล้องกันสามารถ
ถูกเก็บถาวร

ใบสมัคร ตัวเลือก กลุ่ม

กลุ่มนี้ประกอบด้วยตัวเลือกที่ทำงานในระดับข้อมูล โปรดทราบว่าตัวเลือกเหล่านี้ใช้ได้เท่านั้น
ไปยังข้อมูล "ดิบ" ที่โอนโดย socat แต่ไม่ใช่ข้อมูลโปรโตคอลที่ใช้โดยที่อยู่เช่น
พร็อกซี่

cr แปลงอักขระสิ้นสุดบรรทัดเริ่มต้น NL ('\n', 0x0a) เป็น/จาก CR ('\r',
0x0d) เมื่อเขียน/อ่านในช่องนี้

เครดิต แปลงอักขระสิ้นสุดบรรทัดเริ่มต้น NL ('\n', 0x0a) เป็น/จาก CRNL
("\r\n", 0x0d0a) เมื่อเขียน/อ่านในช่องนี้ (ตัวอย่าง) หมายเหตุ: socat
เพียงดึงอักขระ CR ทั้งหมดออก

ละเลย
เมื่อ EOF เกิดขึ้นในช่องนี้ โซแคท ละเว้นและพยายามอ่านข้อมูลเพิ่มเติม (เช่น
"tail -f") (ตัวอย่าง)

อ่านไบต์=
โซแคท อ่านจำนวนไบต์จากที่อยู่นี้เท่านั้น (ที่อยู่ให้จำนวนมากเท่านั้น
ไบต์สำหรับการถ่ายโอนและอ้างว่าเป็น EOF หลังจากนั้น) ต้องมากกว่า 0

ล็อกไฟล์=
หากมี lockfile อยู่ ออกโดยมีข้อผิดพลาด หากไม่มี lockfile ให้สร้างขึ้นและ
ดำเนินการต่อ ยกเลิกการลิงก์ล็อกไฟล์เมื่อออก

waitlock=
หากมี lockfile อยู่ ให้รอจนกว่าจะหายไป เมื่อ lockfile ไม่มีอยู่
สร้างและดำเนินการต่อ ยกเลิกการลิงก์ล็อกไฟล์เมื่อออก

หนี=
ระบุรหัสตัวเลขของอักขระที่ทริกเกอร์ EOF บนสตรีมอินพุต มัน
มีประโยชน์กับเทอร์มินัลในโหมดดิบ (ตัวอย่าง)

เบ้า ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้มีไว้สำหรับซ็อกเก็ตทุกประเภท เช่น IP หรือโดเมน UNIX ส่วนใหญ่เป็น
ใช้กับการเรียก setockopt()

ผูก =
ผูกซ็อกเก็ตกับที่อยู่ซ็อกเก็ตที่กำหนดโดยใช้การเรียกระบบ bind() แบบฟอร์ม
ของ เป็นโดเมนซ็อกเก็ตขึ้นอยู่กับ: IP4 และ IP6 อนุญาตรูปแบบ
[ชื่อโฮสต์|โฮสต์ที่อยู่][:(บริการ|พอร์ต)] (ตัวอย่าง) ต้องใช้ซ็อกเก็ตโดเมน UNIX
.

เชื่อมต่อหมดเวลา =
ยกเลิกการพยายามเชื่อมต่อหลังจาก [timeval] พร้อมสถานะข้อผิดพลาด

so-bindtodevice=
ผูกซ็อกเก็ตกับที่กำหนด . ตัวเลือกนี้อาจต้องใช้ root
สิทธิพิเศษ.

ออกอากาศ
สำหรับซ็อกเก็ตดาตาแกรม อนุญาตให้ส่งไปยังที่อยู่ออกอากาศและรับแพ็กเก็ต
จ่าหน้าถึงที่อยู่ออกอากาศ

การแก้ปัญหา เปิดใช้งานการดีบักซ็อกเก็ต

Dontroute
สื่อสารกับเพื่อนที่เชื่อมต่อโดยตรงเท่านั้น ไม่ใช้เราเตอร์

ให้มีชีวิตอยู่
เปิดใช้งานการส่ง Keepalives บนซ็อกเก็ต

อ้อยอิ่ง=
บล็อกการปิดระบบ () หรือปิด () จนกว่าการถ่ายโอนข้อมูลจะเสร็จสิ้นหรือกำหนด
หมดเวลา [int] หมดอายุ

โอบินไลน์
วางข้อมูลนอกแบนด์ในสตรีมข้อมูลอินพุต

ลำดับความสำคัญ =
ตั้งค่าโปรโตคอลที่กำหนดไว้ [ ] สำหรับแพ็กเก็ตขาออก

rcvbuf=
ตั้งค่าขนาดของบัฟเฟอร์การรับหลังจากเรียก socket() ไปยัง [int]. กับ
ซ็อกเก็ต TCP ค่านี้สอดคล้องกับขนาดหน้าต่างสูงสุดของซ็อกเก็ต

rcvbuf-สาย=
ตั้งค่าขนาดของบัฟเฟอร์การรับเมื่อซ็อกเก็ตเชื่อมต่อกับ .แล้ว
[int]. ด้วยซ็อกเก็ต TCP ค่านี้สอดคล้องกับหน้าต่างสูงสุดของซ็อกเก็ต
ขนาด.

rcvlowat=
ระบุจำนวนไบต์ขั้นต่ำที่ได้รับ [int] จนกว่าชั้นซ็อกเก็ตจะ
ส่งข้อมูลบัฟเฟอร์ไปที่ โซแคท.

rcvtimeo=
ตั้งค่าการหมดเวลารับ [timeval]

นำกลับมาใช้ใหม่
อนุญาตให้ซ็อกเก็ตอื่นผูกกับที่อยู่แม้ว่าบางส่วนของที่อยู่ (เช่น local
port) ถูกใช้งานโดย โซแคท (ตัวอย่าง).

sndbuf=
ตั้งค่าขนาดของบัฟเฟอร์การส่งหลังจากการเรียก socket() ไปยัง [int].

sndbuf-สาย=
กำหนดขนาดของบัฟเฟอร์การส่งเมื่อเชื่อมต่อซ็อกเก็ตกับ [int].

sndlowat=
ระบุจำนวนไบต์ขั้นต่ำในบัฟเฟอร์การส่งจนถึงซ็อกเก็ตเลเยอร์
จะส่งข้อมูลไปที่ [int].

sndtimeo=
ตั้งค่าระยะหมดเวลาการส่งเป็นวินาที [timeval]

pf=
บังคับให้ใช้เวอร์ชัน IP หรือโปรโตคอลที่ระบุ เป็นอะไรก็ได้
เช่น "ip4" หรือ "ip6" ค่าผลลัพธ์ถูกใช้เป็นอาร์กิวเมนต์แรกของ socket()
หรือ socketpair() โทร ตัวเลือกนี้ส่งผลต่อการแก้ไขที่อยู่และข้อกำหนด
ไวยากรณ์ของตัวเลือกการผูกและช่วง

พิมพ์=
ตั้งค่าประเภทของซ็อกเก็ต ที่ระบุเป็นอาร์กิวเมนต์ที่สองให้กับ socket() หรือ
socketpair() โทร, ถึง [int]. การแก้ไขที่อยู่ไม่ได้รับผลกระทบจากสิ่งนี้
ตัวเลือก. ภายใต้ Linux 1 หมายถึงซ็อกเก็ตเชิงสตรีม 2 หมายถึงซ็อกเก็ตดาตาแกรมและ
3 หมายถึงซ็อกเก็ตดิบ

ต้นแบบ
ตั้งค่าโปรโตคอลของซ็อกเก็ต ซึ่งระบุเป็นอาร์กิวเมนต์ที่สามให้กับ socket() หรือ
socketpair() โทร, ถึง [int]. การแก้ไขที่อยู่ไม่ได้รับผลกระทบจาก
ตัวเลือกนี้ 6 หมายถึง TCP, 17 หมายถึง UDP

so-ประทับเวลา
ตั้งค่าตัวเลือกซ็อกเก็ต SO_TIMESTAMP ทำให้สามารถรับและบันทึกของ
ข้อความเสริมการประทับเวลา

setockopt-int= : :
เรียกใช้ setockopt() สำหรับซ็อกเก็ตด้วยพารามิเตอร์ที่กำหนด ใช้ระดับ [int]
เป็นอาร์กิวเมนต์ที่สองสำหรับ setockopt() และระบุเลเยอร์ เช่น SOL_TCP สำหรับ TCP (6
บน Linux) หรือ SOL_SOCKET สำหรับซ็อกเก็ตเลเยอร์ (1 บน Linux) optname [int] คือ the
อาร์กิวเมนต์ที่สามเป็น setockopt() และบอกว่าจะตั้งค่าตัวเลือกซ็อกเก็ตใด สำหรับ
ตัวเลขจริงที่คุณอาจต้องค้นหารวมถึงไฟล์ของคุณ .ที่เหมาะสม
ระบบ. พารามิเตอร์ setockopt() ตัวที่ 4 ค่า [int] ถูกส่งไปยังฟังก์ชันต่อ
ตัวชี้และสำหรับพารามิเตอร์ความยาว sizeof\(int) ถูกนำไปใช้โดยปริยาย

setockopt-bin= : :
เช่นเดียวกับ setockopt-int แต่ ต้องให้ในรูปแบบต้าหลันและระบุ an
ลำดับของไบต์โดยพลการ พารามิเตอร์ความยาวได้มาจาก .โดยอัตโนมัติ
ข้อมูล

setockopt-string= : :
เช่นเดียวกับ setockopt-int แต่ ต้องเป็นสตริง สตริงนี้ถูกส่งผ่านไปยัง
ฟังก์ชันที่มีอักขระ null ต่อท้าย และพารามิเตอร์ความยาวโดยอัตโนมัติ
ได้มาจากข้อมูล

ยูนิกซ์ ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้ใช้กับที่อยู่ตามโดเมน UNIX

ยูนิกซ์-tightsocklen=[0|1]
ในการใช้งานซ็อกเก็ต ให้ส่งความยาวที่อยู่ซ็อกเก็ตที่ไม่รวม . ทั้งหมด
struct sockaddr_un บันทึก แต่ (นอกเหนือจากส่วนประกอบอื่น ๆ ) เฉพาะส่วนที่เกี่ยวข้องของ
ชื่อไฟล์หรือสตริงนามธรรม ค่าเริ่มต้นคือ 1

IP4 และ IP6 ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้สามารถใช้ได้กับซ็อกเก็ตที่ใช้ IPv4 และ IPv6

ทอส=
ตั้งค่าฟิลด์ TOS (ชนิดของบริการ) ของแพ็กเก็ตขาออกเป็น [ไบต์] (ดู RFC
791)

ttl=
ตั้งค่าฟิลด์ TTL (time to live) ของแพ็กเก็ตขาออกเป็น [ไบต์].

ip-options=
ตั้งค่าตัวเลือก IP เช่น การกำหนดเส้นทางต้นทาง ต้องให้ในรูปแบบไบนารี แนะนำ
รูปแบบคือ "x" นำหน้าตามด้วยเลขฐานสิบหกเป็นเลขคู่ ตัวเลือกนี้อาจ
ใช้หลายครั้งข้อมูลจะถูกผนวก เช่น เพื่อเชื่อมต่อกับโฮสต์ 10.0.0.1 ผ่าน
เกตเวย์บางตัวที่ใช้เส้นทางต้นทางหลวม ใช้เกตเวย์เป็นพารามิเตอร์ที่อยู่และ
ตั้งค่าเส้นทางต้นทางหลวมโดยใช้ตัวเลือก ip-options=x8307040a000001
ตัวเลือก IP ถูกกำหนดไว้ใน RFC 791

mtudiscover=<0|1|2>
รับ 0, 1, 2 เพื่อไม่ให้ ต้องการ หรือใช้เส้นทาง MTU ที่ค้นพบบนซ็อกเก็ตนี้เสมอ

ip-pktinfo
ตั้งค่าตัวเลือกซ็อกเก็ต IP_PKTINFO ซึ่งช่วยให้รับและบันทึกส่วนเสริม
ข้อความที่มีที่อยู่ปลายทางและอินเทอร์เฟซ (Linux) (ตัวอย่าง)

ip-recverr
ตั้งค่าตัวเลือกซ็อกเก็ต IP_RECVERR ซึ่งช่วยให้รับและบันทึกส่วนเสริม
ข้อความที่มีข้อมูลข้อผิดพลาดโดยละเอียด

ip-recvopts
ตั้งค่าตัวเลือกซ็อกเก็ต IP_RECVOPTS ทำให้สามารถรับและบันทึก IP . ได้
ตัวเลือกข้อความเสริม (Linux, *BSD)

ip-recvtos
ตั้งค่าตัวเลือกซ็อกเก็ต IP_RECVTOS ทำให้สามารถรับและบันทึก TOS (type
ของบริการ) ข้อความเสริม (Linux)

ip-recvttl
ตั้งค่าตัวเลือกซ็อกเก็ต IP_RECVTTL ทำให้สามารถรับและบันทึก TTL (time
เพื่อถ่ายทอดสด) ข้อความเสริม (Linux, *BSD)

ip-recvdstaddr
ตั้งค่าอ็อพชันซ็อกเก็ต IP_RECVDSTADDR ทำให้สามารถรับและบันทึกของ
ข้อความเสริมที่มีที่อยู่ปลายทาง (*BSD) (ตัวอย่าง)

ip-recvif
ตั้งค่าตัวเลือกซ็อกเก็ต IP_RECVIF ซึ่งช่วยให้รับและบันทึกอินเทอร์เฟซ
ข้อความเสริม (*BSD) (ตัวอย่าง)

ip-add-membership=

ip-add-membership=

ip-add-membership=

ip-add-membership=

ip-add-membership=
ทำให้สมาชิกของซ็อกเก็ตของกลุ่มมัลติคาสต์ที่ระบุ ปัจจุบันนี้เท่านั้น
นำไปใช้กับ IPv4 ตัวเลือกใช้ที่อยู่ IP ของกลุ่มมัลติคาสต์และ
ข้อมูลเกี่ยวกับอินเทอร์เฟซเครือข่ายที่ต้องการ ไวยากรณ์ที่พบบ่อยที่สุดคืออันแรก
ในขณะที่ระบบอื่นมีให้เฉพาะบนระบบที่มี struct mreqn (Linux)
ดัชนีของอินเทอร์เฟซเครือข่ายที่ใช้งานสามารถแสดงได้โดยใช้ยูทิลิตี้ โปรแคน.

ip-multicast-if=
ระบุชื่อโฮสต์หรือที่อยู่ของอินเทอร์เฟซเครือข่ายที่จะใช้สำหรับ multicast
การจราจร

ip-multicast-loop=
ระบุว่าทราฟฟิกมัลติคาสต์ขาออกควรวนกลับไปที่อินเตอร์เฟสหรือไม่

ip-multicast-ttl=
ตั้งค่า TTL ที่ใช้สำหรับการรับส่งข้อมูลแบบหลายผู้รับ ค่าเริ่มต้นคือ 1

แก้ไขข้อบกพร่องอีกครั้ง

res-aonly

res-usevc

res-หลัก

ติดไฟอีกครั้ง

เรียกซ้ำ

res-defnames

Res-Stayopen

res-dnsrch
ตัวเลือกเหล่านี้ตั้งค่าสถานะตัวเลือกตัวแก้ไขที่เกี่ยวข้อง (การจำแนกชื่อ)
ต่อท้าย "=0" เพื่อล้างตัวเลือกเริ่มต้น ดูโปรแกรมแก้ไขชาย\(5) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ
ตัวเลือกเหล่านี้ หมายเหตุ: ตัวเลือกเหล่านี้ใช้ได้เฉพาะกับที่อยู่ที่ใช้
ไปยัง

IP6 ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้สามารถใช้ได้กับซ็อกเก็ตที่ใช้ IPv6 เท่านั้น ดูตัวเลือก IP สำหรับตัวเลือกที่สามารถ
ใช้ได้กับทั้งซ็อกเก็ต IPv4 และ IPv6

ipv6only=
ตั้งค่าตัวเลือกซ็อกเก็ต IPV6_V6ONLY หากเป็น 0 สแต็ก TCP จะยอมรับ .ด้วย
การเชื่อมต่อโดยใช้โปรโตคอล IPv4 บนพอร์ตเดียวกัน ค่าดีฟอลต์ขึ้นอยู่กับระบบ

ipv6-recvdstopts
ตั้งค่าตัวเลือกซ็อกเก็ต IPV6_RECVDSTOPTS ทำให้สามารถรับและบันทึกของ
ข้อความเสริมที่มีตัวเลือกปลายทาง

ipv6-recvhoplimit
ตั้งค่าอ็อพชันซ็อกเก็ต IPV6_RECVHOPLIMIT ทำให้สามารถรับและบันทึกของ
ข้อความเสริมที่มีฮอปลิมิต

ipv6-recvhopops
ตั้งค่าตัวเลือกซ็อกเก็ต IPV6_RECVHOPOPTS ทำให้สามารถรับและบันทึกของ
ข้อความเสริมที่มีตัวเลือกการกระโดด

ipv6-recvpktinfo.php
ตั้งค่าตัวเลือกซ็อกเก็ต IPV6_RECVPKTINFO ทำให้สามารถรับและบันทึกของ
ข้อความเสริมที่มีที่อยู่ปลายทางและอินเทอร์เฟซ

ipv6-unicast-hops=link(TYPE_INT)( )
ตั้งค่าตัวเลือกซ็อกเก็ต IPV6_UNICAST_HOPS สิ่งนี้กำหนดขีดจำกัดการนับฮ็อพ (TTL) สำหรับ
แพ็กเก็ต unicast ขาออก

ipv6-recvrthdr
ตั้งค่าตัวเลือกซ็อกเก็ต IPV6_RECVRTHDR ทำให้สามารถรับและบันทึกของ
ข้อความเสริมที่มีข้อมูลเส้นทาง

ipv6-tคลาส
ตั้งค่าตัวเลือกซ็อกเก็ต IPV6_TCLASS สิ่งนี้กำหนดคลาสการถ่ายโอนของขาออก
แพ็คเก็ต

ipv6-recvtclass.php
ตั้งค่าอ็อพชันซ็อกเก็ต IPV6_RECVTCLASS ซึ่งช่วยให้รับและบันทึก
ข้อความเสริมที่มีคลาสการถ่ายโอน

TCP ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้อาจใช้กับซ็อกเก็ต TCP พวกเขาทำงานโดยเรียกใช้ setockopt() ด้วย the
พารามิเตอร์ที่เหมาะสม

ไม้ก๊อก ไม่ส่งแพ็กเก็ตที่เล็กกว่า MSS (ขนาดเซ็กเมนต์สูงสุด)

เลื่อนการยอมรับ
ขณะฟัง ยอมรับการเชื่อมต่อเมื่อข้อมูลจากเพียร์มาถึงเท่านั้น

Keepcnt=
ตั้งค่าจำนวน Keepalives ก่อนปิดซ็อกเก็ตเป็น [int].

Keepidle =
ตั้งเวลาว่างก่อนส่ง Keepalive แรกไปที่ [int].

Keepintvl=
ตั้งค่าช่วงเวลาระหว่าง Keepalives สองตัวเป็น [int].

linger2=
ตั้งเวลาเพื่อให้ซ็อกเก็ตอยู่ในสถานะ FIN-WAIT-2 เป็น [int].

mss=
ตั้งค่า MSS (ขนาดเซ็กเมนต์สูงสุด) หลังจากการเรียก socket() ไปยัง [int]. นี้
ค่าจะถูกเสนอต่อเพียร์ด้วยแพ็กเก็ต SYN หรือ SYN/ACK (ตัวอย่าง)

mss-late=
ตั้งค่า MSS ของซ็อกเก็ตหลังจากสร้างการเชื่อมต่อเป็น [int].

โหนดเลย์
ปิดอัลกอริทึม Nagle สำหรับการวัด RTT (เวลาไปกลับ)

rfc1323
เปิดใช้งานตัวเลือก TCP RFC1323: มาตราส่วนหน้าต่าง TCP, การวัดเวลาไปกลับ (RTTM),
และป้องกันหมายเลขลำดับที่ห่อหุ้ม (PAWS) (AIX)

สตึร์ก เปิดใช้งานการจัดการตัวชี้เร่งด่วนที่สอดคล้องกับ RFC1122 (AIX)

synnt=
ตั้งค่าจำนวนสูงสุดของ SYN ที่ส่งสัญญาณซ้ำระหว่างเชื่อมต่อกับ [int].

md5sig เปิดใช้งานการสร้างไดเจสต์ MD5 บนแพ็กเก็ต (FreeBSD)

น๊อป ปิดการใช้งานตัวเลือก TCP (FreeBSD, MacOSX)

ไม่กด ตั้งค่าตัวเลือกซ็อกเก็ต TCP_NOPUSH (FreeBSD, MacOSX)

กระสอบปิดการใช้งาน
ปิดใช้งานใช้คุณสมบัติการเลือกรับทราบ (OpenBSD)

เปิดใช้งานลายเซ็น
เปิดใช้งานการสร้างไดเจสต์ MD5 บนแพ็กเก็ต (OpenBSD)

ยกเลิกเกณฑ์=
ตั้งเวลาเพื่อรอคำตอบของเพียร์ในการเชื่อมต่อที่สร้างขึ้น
(เอชพี-UX).

conn-abort-threshold=
ตั้งเวลารอคำตอบของเซิร์ฟเวอร์ระหว่างการเชื่อมต่อเริ่มต้น
(เอชพี-UX).

Keepinit
ตั้งเวลารอคำตอบของเซิร์ฟเวอร์ระหว่างการเชื่อมต่อ\() ก่อนให้
ขึ้น. ค่าในครึ่งวินาที ค่าเริ่มต้นคือ 150 (75 วินาที) (Tru64)

อุ้งเท้า เปิดใช้งานคุณสมบัติ "ป้องกันหมายเลขลำดับที่ห่อหุ้ม" (Tru64)

แซคเคนา
เปิดใช้งานการเลือกรับทราบ (Tru64)

ทซอปเทน่า
เปิดใช้งานตัวเลือกการประทับเวลาที่อนุญาตให้คำนวณ RTT ใหม่ในการเชื่อมต่อที่มีอยู่
(ทรู64).

วทท ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้อาจใช้กับซ็อกเก็ตสตรีม SCTP

sctp-nodelay.php
ตั้งค่าตัวเลือกซ็อกเก็ต SCTP_NODELAY ที่ปิดใช้งานอัลกอริทึม Nagle

sctp-maxseg=
ตั้งค่าตัวเลือกซ็อกเก็ต SCTP_MAXSEG เป็น [int]. ค่านี้จะถูกเสนอ
ไปยังเพียร์ที่มีแพ็กเก็ต SYN หรือ SYN/ACK

ยูดีพี ทีซีพี และ วทท ตัวเลือก กลุ่ม

ที่นี่เราพบตัวเลือกที่เกี่ยวข้องกับกลไกพอร์ตเครือข่ายจึงสามารถใช้ได้
ด้วยที่อยู่ไคลเอนต์และเซิร์ฟเวอร์ UDP, TCP และ SCTP

แหล่งที่มา=
สำหรับการเชื่อมต่อ TCP และ UDP ขาออก (ไคลเอนต์) จะตั้งค่าแหล่งที่มา ใช้ an
การโทรผูกพิเศษ () ด้วยที่อยู่ฟัง TCP หรือ UDP socat จะปิดตัวลงทันที
การเชื่อมต่อหากไคลเอนต์ไม่ได้ใช้พอร์ตต้นทางนี้ (ตัวอย่าง)

พอร์ตต่ำ
ขาออก (ไคลเอนต์) การเชื่อมต่อ TCP และ UDP ด้วยตัวเลือกนี้ใช้การสุ่มที่ไม่ได้ใช้
พอร์ตต้นทางระหว่าง 640 ถึง 1023 รวม บนระบบปฏิบัติการคลาส UNIX นี่
ต้องใช้สิทธิ์ของรูท และบ่งชี้ว่ากระบวนการไคลเอนต์ได้รับอนุญาต
โดยรูทท้องถิ่น ที่อยู่ TCP และ UDP ฟังที่อยู่ด้วยตัวเลือกนี้ปิดตัวลงทันที
การเชื่อมต่อหากไคลเอนต์ไม่ได้ใช้พอร์ตต้นทาง <= 1023 กลไกนี้สามารถ
ให้การอนุญาตอย่างจำกัดในบางกรณี

ถุงเท้า ตัวเลือก กลุ่ม

เมื่อใช้ที่อยู่ประเภท SOCKS คุณสามารถตั้งค่าตัวเลือกเฉพาะถุงเท้าบางตัวได้

ถุงเท้ากีฬา= บริการ>
แทนที่บริการ "ถุงเท้า" เริ่มต้นหรือพอร์ต 1080 สำหรับพอร์ตเซิร์ฟเวอร์ถุงเท้าด้วย
.

ถุงเท้าผู้ใช้=
ส่ง [สตริง] ในฟิลด์ชื่อผู้ใช้ไปยังเซิร์ฟเวอร์ถุงเท้า ค่าเริ่มต้นคือ
ชื่อผู้ใช้จริง ($LOGNAME หรือ $USER) (ตัวอย่าง)

HTTP ตัวเลือก กลุ่ม

ตัวเลือกที่สามารถระบุที่อยู่ประเภท HTTP ที่อยู่ HTTP เดียวในปัจจุบัน
ใช้งานคือการเชื่อมต่อพร็อกซี่

พรอกซีพอร์ต= บริการ>
แทนที่พอร์ตพร็อกซี HTTP เริ่มต้น 8080 ด้วย .

ละเว้น
โปรโตคอล HTTP ต้องใช้ CR+NL เป็นตัวสิ้นสุดบรรทัด เมื่อพร็อกซีเซิร์ฟเวอร์
ละเมิดมาตรฐานนี้ socat อาจไม่เข้าใจคำตอบของมัน ตัวเลือกนี้ชี้นำ
socat เพื่อตีความ NL เป็นตัวสิ้นสุดบรรทัดและละเว้น CR ในคำตอบ
อย่างไรก็ตาม socat ส่ง CR+NL ไปยังพร็อกซี

proxyauth= :
ให้การรับรองความถูกต้อง "พื้นฐาน" กับพร็อกซีเซิร์ฟเวอร์ อาร์กิวเมนต์ของตัวเลือกคือ
ใช้กับส่วนหัว "Proxy-Authorization: Base" ในรูปแบบเข้ารหัส base64
หมายเหตุ: ชื่อผู้ใช้และรหัสผ่านจะปรากฏแก่ผู้ใช้ทุกคนในเครื่องท้องถิ่นใน
รายการกระบวนการ ชื่อผู้ใช้และรหัสผ่านจะถูกโอนไปยังพร็อกซีเซิร์ฟเวอร์ที่ไม่ได้เข้ารหัส
(เข้ารหัส base64) และอาจถูกดมกลิ่น

แก้ไข
ตามค่าเริ่มต้น socat ส่งคำขอ CONNECT ที่มีเป้าหมายไปยังพร็อกซี
ชื่อโฮสต์ ด้วยตัวเลือกนี้ socat จะแก้ไขชื่อโฮสต์ในเครื่องและส่ง IP
ที่อยู่. โปรดทราบว่าตาม RFC 2396 การแก้ไขชื่อเป็น IPv4 . เท่านั้น
มีการดำเนินการที่อยู่

ประเภท ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้จะตรวจสอบว่าไคลเอ็นต์ที่เชื่อมต่อควรได้รับสิทธิ์การเข้าถึงหรือไม่ ก็สามารถนำไปใช้ได้
เพื่อรับฟังและรับซ็อกเก็ตเครือข่าย ตัวเลือก tcp-wrappers อยู่ในกลุ่มนี้

ช่วง=
หลังจากยอมรับการเชื่อมต่อแล้ว ให้ทดสอบว่าเพียร์นั้นอยู่ภายในหรือไม่ พิสัย. สำหรับ IPv4
ที่อยู่ ช่วงที่อยู่ ใช้แบบฟอร์มที่อยู่/บิต เช่น 10.0.0.0/8 หรือ
ที่อยู่:มาสก์ เช่น 10.0.0.0:255.0.0.0 (ตัวอย่าง); สำหรับ IPv6 มันคือ
[ที่อยู่ IP6/บิต] เช่น [::1/128] หากที่อยู่ลูกค้าไม่ตรงกัน โซแคท
ออกคำเตือนและคอยฟัง/รับ

tcpwrap[= ]
ใช้ไลบรารี libwrap (tcpd) ของ Wietse Venema เพื่อตรวจสอบว่าไคลเอ็นต์ได้รับอนุญาตหรือไม่
เพื่อเชื่อมต่อ ไฟล์การกำหนดค่าคือ /etc/hosts.allow และ /etc/hosts.deny ต่อ
ค่าเริ่มต้น ดู "man 5 hosts_access" สำหรับข้อมูลเพิ่มเติม ตัวเลือก (พิมพ์
string) ถูกส่งไปยังฟังก์ชัน wrapper เป็นชื่อกระบวนการ daemon (ตัวอย่าง) ถ้า
ละเว้น ชื่อฐานของการเรียก socats (argv[0]) จะถูกส่งผ่าน ถ้าทั้งtcpwrap
และตัวเลือกช่วงใช้กับที่อยู่ต้องปฏิบัติตามเงื่อนไขทั้งสองข้อ
อนุญาตให้เชื่อมต่อ

อนุญาตตาราง=
รับไฟล์ที่ระบุแทน /etc/hosts.allow

ปฏิเสธตาราง=
รับไฟล์ที่ระบุแทน /etc/hosts.deny

tcpwrap-etc=
ค้นหา hosts.allow และ hosts.deny ในไดเร็กทอรีที่ระบุ ถูกแทนที่โดย
ตัวเลือกโฮสต์อนุญาตและโฮสต์ปฏิเสธ

ฟัง ตัวเลือก กลุ่ม

ตัวเลือกเฉพาะสำหรับซ็อกเก็ตการฟัง

งานค้าง=
ตั้งค่างานในมือที่ส่งผ่านการเรียกระบบ listen() ไปยัง [int].
ค่าเริ่มต้นคือ 5

เด็กสูงสุด=
จำกัดจำนวนของโปรเซสชายด์ที่เกิดขึ้นพร้อมกัน [int] ค่าเริ่มต้นคือไม่จำกัด

เด็ก ตัวเลือก กลุ่ม

ตัวเลือกสำหรับที่อยู่ที่เชื่อมต่อหลายจุดผ่านกระบวนการย่อย

ส้อม หลังจากสร้างการเชื่อมต่อแล้ว ให้จัดการช่องสัญญาณในกระบวนการย่อยและเก็บไว้
กระบวนการหลักที่พยายามสร้างการเชื่อมต่อมากขึ้น ไม่ว่าจะโดยการฟังหรือ
โดยการเชื่อมต่อแบบวนซ้ำ (ตัวอย่าง)
OPENSSL-CONNECT และ OPENSSL-LISTEN ต่างกันตรงที่แยกเด็กออก:

ส้อม OPENSSL-LISTEN ก่อน SSL handshake ในขณะที่ OPENSSLSSL-CONNECT forks
ภายหลัง. ตัวเลือก RETRY และ FOREVER ไม่ได้รับการสืบทอดโดยกระบวนการลูก
ในบางระบบปฏิบัติการ (เช่น FreeBSD) ตัวเลือกนี้ใช้ไม่ได้กับ UDP-LISTEN
ที่อยู่

ผู้บริหารระดับสูง ตัวเลือก กลุ่ม

ตัวเลือกสำหรับที่อยู่ที่เรียกใช้โปรแกรม

เส้นทาง=
แทนที่ตัวแปรสภาพแวดล้อม PATH สำหรับการค้นหาโปรแกรมด้วย .
ค่า $PATH นี้มีผลกับกระบวนการลูกด้วย

เข้าสู่ระบบ คำนำหน้า argv[0] สำหรับการเรียก execvp() ด้วย '-' ซึ่งทำให้เชลล์ทำงานเป็น
เปลือกเข้าสู่ระบบ

ส้อม ตัวเลือก กลุ่ม

ที่อยู่ EXEC หรือ SYSTEM เรียกใช้โปรแกรมโดยใช้กระบวนการลูกและถ่ายโอนข้อมูลระหว่าง
โซแคท และโปรแกรม กลไกการสื่อสารระหว่างกระบวนการสามารถได้รับอิทธิพลจาก
ตัวเลือกต่อไปนี้ ตามค่าเริ่มต้น socketpair() จะถูกสร้างขึ้นและกำหนดให้กับ stdin และ stdout
ของกระบวนการลูกในขณะที่ stderr สืบทอดมาจาก โซแคท กระบวนการและลูก
กระบวนการใช้ file descriptors 0 และ 1 เพื่อสื่อสารกับกระบวนการ socat หลัก

ส้อม ไม่แยกโปรเซสย่อยสำหรับการรันโปรแกรม แต่ให้เรียก execvp\() หรือ
system\() โดยตรงจากอินสแตนซ์ socat จริง สิ่งนี้จะหลีกเลี่ยงค่าใช้จ่ายของ
กระบวนการอื่นระหว่างโปรแกรมและเพียร์ของมัน แต่แนะนำ . มากมาย
ข้อ จำกัด:

o ตัวเลือกนี้ใช้ได้กับตัวที่สองเท่านั้น โซแคท ที่อยู่

o ไม่สามารถใช้กับส่วนหนึ่งของที่อยู่คู่ได้

o ที่อยู่ socat แรกไม่สามารถเป็น OPENSSL หรือ READLINE

o ตัวเลือก socat -b, -t, -D, -l, -v, -x กลายเป็นไร้ประโยชน์

o สำหรับที่อยู่ทั้งสองตัวเลือกที่ละเว้น cr และ crnl กลายเป็นไร้ประโยชน์

o สำหรับที่อยู่ที่สอง (อันที่มีตัวเลือก nofork), ตัวเลือกผนวก, cloexec,
flock, ผู้ใช้, กลุ่ม, โหมด, nonblock, perm-late, setlk และ setpgid ไม่สามารถ
สมัครแล้ว. สิ่งเหล่านี้บางส่วนสามารถใช้กับที่อยู่แรกได้

ท่อ สร้างคู่ของไพพ์ที่ไม่มีชื่อสำหรับการสื่อสารระหว่างกระบวนการแทนที่จะเป็น socket
คู่

เปิดกว้าง
สร้างการสื่อสารกับกระบวนการย่อยโดยใช้เทอร์มินัลเทียมที่สร้างขึ้นด้วย
openpty() แทนที่จะเป็นค่าดีฟอลต์ (socketpair หรือ ptmx)

พีทีเอ็มเอ็กซ์ สร้างการสื่อสารกับกระบวนการย่อยโดยใช้เทอร์มินัลหลอกที่สร้างโดย
การเปิด /dev/ptmx or /dev/ptc แทนที่จะเป็นค่าดีฟอลต์ (socketpair)

Pty สร้างการสื่อสารกับกระบวนการย่อยโดยใช้เทอร์มินัลหลอกแทนa
คู่ซ็อกเก็ต สร้าง pty ด้วยกลไกที่มีอยู่ ถ้า openpty และ ptmx เป็น
ทั้งสองแบบมีให้ใช้ ptmx เนื่องจากเป็นไปตามข้อกำหนด POSIX (ตัวอย่าง)

กะรัต ทำให้ pty เป็น tty ควบคุมของกระบวนการย่อย (ตัวอย่าง)

สตเดอร์ นำ stderr ของกระบวนการย่อยไปยังช่องสัญญาณเอาท์พุตโดยทำให้ stderr เป็น dup() of
stdout (ตัวอย่าง)

fdin=
กำหนดช่องทางอินพุตของโปรเซสย่อยให้กับ file descriptor แทน
มาตรฐาน (0) โปรแกรมที่เริ่มต้นจากกระบวนการย่อยต้องใช้ fd นี้ในการอ่าน
ข้อมูลจาก โซแคท (ตัวอย่าง).

fdout=
กำหนดแชนเนลเอาต์พุตโปรเซสย่อยให้กับ file descriptor แทน
มาตรฐาน (1). โปรแกรมที่เริ่มต้นจากกระบวนการย่อยต้องใช้ fd นี้ในการเขียน
ข้อมูลถึง โซแคท (ตัวอย่าง).

ถอนหายใจ เซ็น, ซิกควิท
มี โซแคท ส่งสัญญาณประเภทนี้ไปยังกระบวนการย่อย หากไม่มีที่อยู่นี้
ตัวเลือก socat ยุติสัญญาณเหล่านี้

เทอร์มิออส ตัวเลือก กลุ่ม

สำหรับที่อยู่ที่ทำงานกับ tty (เช่น stdio, file:/dev/tty, exec:...,pty) เทอร์มินัล
พารามิเตอร์ที่กำหนดในกลไกเทอร์มิโอของ UN*X มีให้เป็นตัวเลือกที่อยู่
พารามิเตอร์ โปรดทราบว่าการเปลี่ยนแปลงพารามิเตอร์ของเทอร์มินัลแบบโต้ตอบของคุณ
ยังคงมีผลหลังจาก โซแคทการยกเลิก ดังนั้นคุณอาจต้องป้อน "รีเซ็ต" หรือ "stty
sane" ในเชลล์ของคุณหลังจากนั้น สำหรับที่อยู่ EXEC และ SYSTEM พร้อมตัวเลือก PTY สิ่งเหล่านี้
ตัวเลือกนำไปใช้กับ pty โดยกระบวนการลูก

b0 ตัดการเชื่อมต่อเทอร์มินัล

b19200 ตั้งค่าความเร็วของสายซีเรียลเป็น 19200 บอด อาจมีอัตราอื่น ๆ ใช้
บางอย่างเช่น socat -hh |grep ' b[1-9]' เพื่อค้นหาความเร็วทั้งหมดที่คุณ
การดำเนินงาน
หมายเหตุ: ในบางระบบปฏิบัติการ ตัวเลือกเหล่านี้อาจไม่สามารถใช้ได้ ใช้ ispeed หรือ
ospeed แทน

เสียงสะท้อน=
เปิดหรือปิดเสียงก้องในเครื่อง

ไอคานอน=
ตั้งค่าหรือล้างโหมดมาตรฐาน เปิดใช้งานการบัฟเฟอร์บรรทัดและอักขระพิเศษบางตัว

ดิบ ตั้งค่าโหมด raw ดังนั้นจึงส่งผ่านอินพุตและเอาต์พุตแทบไม่ได้ประมวลผล ตัวเลือกนี้คือ
ล้าสมัย ใช้ตัวเลือก rawer หรือ cfmakeraw แทน

วัตถุดิบ ทำให้เทอร์มินัล rawer กว่าตัวเลือกดิบ ตัวเลือกนี้จะปิดเสียงสะท้อนโดยปริยาย
(ตัวอย่าง).

cfเมกเกอร์
ตั้งค่าโหมด raw โดยเรียกใช้ cfmakeraw() หรือจำลองการเรียกนี้ ตัวเลือกนี้
โดยปริยายปิดเสียงสะท้อน

ignbrk=
ละเว้นหรือตีความอักขระ BREAK (เช่น ^C)

brkint=

bs0

bs1

bsdly=<0|1>

clocal=

cr0
cr1
cr2
cr3

ตั้งค่าการหน่วงเวลาการขึ้นบรรทัดใหม่เป็น 0, 1, 2 หรือ 3 ตามลำดับ 0 หมายถึงไม่ล่าช้า
ค่าอื่นๆ ขึ้นอยู่กับเทอร์มินัล

crdly=<0|1|2|3>

เครด=

crtscts=

cs5
cs6
cs7
cs8

ตั้งค่าขนาดอักขระเป็น 5, 6, 7 หรือ 8 บิต ตามลำดับ

csize=<0|1|2|3>

cstopb=
ตั้งค่าบิตหยุดสองบิต แทนที่จะเป็นหนึ่งบิต

dsusp=
ตั้งค่าสำหรับอักขระ VDSUSP ที่ระงับพื้นหน้าปัจจุบันชั่วคราว
ประมวลผลและเปิดใช้งานเชลล์อีกครั้ง (ทั้งหมดยกเว้น Linux)

echoctl=
อักขระควบคุม Echos ในรูปแบบหมวก (เช่น ^A)

ก้อง=

ก้อง=

ก้อง=

econl=

echoprt=

อ๊อฟ=

ออล=

eol2=

ลบ=

ทิ้ง=

ff0

ff1

ffdly=

flusho=

hupcl=

icrnl=

iexten=

igncr=

ignpar=

imaxbel=

inlcr=

inpck=

intr=

isig=

ไอสปีด=
ตั้งค่าอัตรารับส่งข้อมูลสำหรับข้อมูลขาเข้าในบรรทัดนี้
ดูเพิ่มเติม: ospeed, b19200

istrip=

ไอยูแอลซี=

อิกซานี=

ixoff=

ไอซอน=

ฆ่า=

lnext=

มิน=

nl0 ตั้งค่าการหน่วงเวลาขึ้นบรรทัดใหม่เป็น 0

nl1

nldly=

noflsh=

ocrnl=

ofdel=

ofill=

olcuc=

onlcr=

onlret=

onocr=

opost=
เปิดหรือปิดการประมวลผลเอาต์พุต เช่น แปลง NL เป็น CR-NL

ospeed=
ตั้งค่าอัตราบอดสำหรับข้อมูลขาออกในบรรทัดนี้
ดูเพิ่มเติม: ispeed, b19200

parenb =
เปิดใช้งานการสร้างพาริตีบนเอาต์พุตและการตรวจสอบพาริตีสำหรับอินพุต

parmrk=

parodd=

เพนดิน=

เลิก =

พิมพ์ซ้ำ =

มีสติ นำเทอร์มินัลไปเป็นสถานะเริ่มต้นที่มีประโยชน์

เริ่ม =

หยุด=

susp=

swtc=

tab0

tab1

tab2

tab3

tabdly=

เวลา=

หยุด =

vt0

vt1

vtdly=

werase=

xcase=

xtab

ไอป๊อปออล
ด้วย UNIX System V STREAMS จะลบไดรเวอร์ทั้งหมดออกจากสแต็ก

ฉันกด=
ด้วย UNIX System V STREAMS ให้กดไดรเวอร์ (โมดูล) ด้วยชื่อที่กำหนด (สตริง)
ลงบนกอง ตัวอย่างเช่นเพื่อให้แน่ใจว่าอุปกรณ์ตัวละครใน Solaris
รองรับ termios ฯลฯ ใช้ตัวเลือกต่อไปนี้:
i-ป๊อปทั้งหมด,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้มีไว้สำหรับใช้กับประเภทที่อยู่ pty

ลิงค์=
สร้างลิงค์สัญลักษณ์ที่ชี้ไปที่เทอร์มินัลหลอกจริง (pty) นี้
อาจช่วยแก้ปัญหาที่สร้าง ptys ได้มากหรือน้อย
ชื่อที่คาดเดาไม่ได้ ทำให้ยากต่อการเข้าถึง socat ที่สร้าง pty . โดยตรง
โดยอัตโนมัติ ด้วยตัวเลือกนี้ ผู้ใช้สามารถระบุจุด "แก้ไข" ในไฟล์
ลำดับชั้นที่ช่วยให้เขาเข้าถึง pty จริง (ตัวอย่าง) เริ่มต้นด้วย โซแคท
เวอร์ชัน 1.4.3 ลิงก์สัญลักษณ์จะถูกลบออกเมื่อปิดที่อยู่ (แต่ดู
ตัวเลือก unlink-close)

รอทาส
บล็อกเฟสเปิดจนกว่ากระบวนการจะเปิดด้านทาสของ pty โดยปกติ,
socat ดำเนินต่อไปหลังจากสร้าง pty ด้วยการเปิดที่อยู่ถัดไปหรือ with
เข้าสู่วงจรการถ่ายโอน ด้วยตัวเลือก wait-slave นั้น socat จะรอจนกว่าจะมีบางอย่าง
กระบวนการเปิดด้านทาสของ pty ก่อนดำเนินการต่อ ตัวเลือกนี้ใช้ได้เท่านั้น
ถ้าระบบปฏิบัติการจัดให้มีการเรียกระบบแบบสำรวจความคิดเห็น () และมันขึ้นอยู่กับ an
พฤติกรรมที่ไม่มีเอกสารของ pty ดังนั้นจึงใช้ไม่ได้กับทุกระบบปฏิบัติการ มัน
ได้รับการทดสอบเรียบร้อยแล้วบน Linux, FreeBSD, NetBSD และบน Tru64 ด้วย openpty

pty-ช่วง=
เมื่อตั้งค่าตัวเลือก wait-slave แล้ว socat จะตรวจสอบเงื่อนไข HUP เป็นระยะ
ใช้การสำรวจความคิดเห็น () เพื่อดูว่ามีการเปิดด้านทาสของ pty หรือไม่ การเลือกตั้งเริ่มต้น
ช่วงเวลาคือ 1 วินาที ใช้ตัวเลือก pty-interval [timeval] เพื่อเปลี่ยนค่านี้

OPENSL ตัวเลือก กลุ่ม

ตัวเลือกเหล่านี้ใช้กับประเภทที่อยู่ openssl และ openssl-listen

รหัส =
เลือกรายการการเข้ารหัสที่อาจใช้สำหรับการเชื่อมต่อ ดูหน้าคน
ของตัวเลข , ส่วน CIPHER รายการ FORMATสำหรับข้อมูลโดยละเอียดเกี่ยวกับไวยากรณ์
ค่าและค่าเริ่มต้นของ .
อาจมีการกำหนดสตริงตัวเลขหลายตัว โดยคั่นด้วย ':' สตริงการเข้ารหัสง่ายๆ บางส่วน:

3DES ใช้ชุดรหัสที่มี DES สามตัว

MD5 ใช้ชุดรหัสกับ MD5

aNULL ใช้ชุดการเข้ารหัสโดยไม่มีการพิสูจน์ตัวตน

NULL ไม่ใช้การเข้ารหัส

สูง ใช้ชุดรหัสที่มีการเข้ารหัส "สูง" โปรดทราบว่าเพียร์ต้องสนับสนุน
ทรัพย์สินที่เลือก มิฉะนั้นการเจรจาจะล้มเหลว

วิธี=
ตั้งค่าเวอร์ชันโปรโตคอลที่จะใช้ สตริงที่ถูกต้อง (ไม่คำนึงถึงขนาดตัวพิมพ์) คือ:

SSL2 เลือกโปรโตคอล SSL เวอร์ชัน 2

SSL3 เลือกโปรโตคอล SSL เวอร์ชัน 3

SSL23 เลือกโปรโตคอล SSL หรือ TLS ที่ดีที่สุด นี่เป็นค่าเริ่มต้นเมื่อตัวเลือกนี้
ไม่ได้ให้ไว้

TLS1 เลือกโปรโตคอล TLS เวอร์ชัน 1

TLS1.1 เลือกโปรโตคอล TLS เวอร์ชัน 1.1

TLS1.2 เลือกโปรโตคอล TLS เวอร์ชัน 1.2

DTLS1 เลือกโปรโตคอล DTLS เวอร์ชัน 1

ตรวจสอบ =
ควบคุมการตรวจสอบใบรับรองของเพียร์ ค่าเริ่มต้นคือ 1 (จริง) กำลังปิดการใช้งานการตรวจสอบ
อาจเปิดซ็อกเก็ตของคุณสำหรับทุกคน ทำให้การเข้ารหัสไร้ประโยชน์!

ใบรับรอง=
ระบุไฟล์ที่มีใบรับรองและคีย์ส่วนตัวสำหรับการตรวจสอบสิทธิ์ ดิ
ใบรับรองต้องอยู่ในรูปแบบ OpenSSL (*.pem) ด้วย openssl-listen ใช้ this
ขอแนะนำตัวเลือกนี้ ยกเว้นการเข้ารหัสเป็น NULL ข้อผิดพลาด "ไม่มีการเข้ารหัสที่ใช้ร่วมกัน"
จะเกิดขึ้นเมื่อไม่มีการมอบใบรับรอง

คีย์=
ระบุไฟล์ด้วยคีย์ส่วนตัว คีย์ส่วนตัวอาจอยู่ในไฟล์นี้หรือใน
ไฟล์ที่ให้มาพร้อมกับตัวเลือกใบรับรอง ฝ่ายที่ต้องพิสูจน์ว่าเป็น
เจ้าของใบรับรองต้องการคีย์ส่วนตัว

dhparams=
ระบุไฟล์ด้วยพารามิเตอร์ Diffie Hellman พารามิเตอร์เหล่านี้อาจเป็น
ในไฟล์ที่ให้มาพร้อมกับตัวเลือกใบรับรอง ซึ่งในกรณีนี้ ตัวเลือก dhparams ไม่ใช่
จำเป็น

cafile=
ระบุไฟล์ที่มีใบรับรองสิทธิ์ที่เชื่อถือได้ (รูท) ไฟล์ต้องเป็น
ในรูปแบบ PEM และควรมีใบรับรองอย่างน้อยหนึ่งใบ ฝ่ายที่ตรวจสอบ
การรับรองความถูกต้องของเพียร์เชื่อถือเฉพาะใบรับรองที่อยู่ในไฟล์นี้

แคปพาธ=
ระบุไดเร็กทอรีที่มีใบรับรอง (root) ที่เชื่อถือได้ ไดเรกทอรีต้อง
มีใบรับรองในรูปแบบ PEM และแฮช (ดูเอกสารประกอบ OpenSSL)

egd=
ในบางระบบ openssl ต้องการแหล่งข้อมูลสุ่มที่ชัดเจน ระบุ
ชื่อซ็อกเก็ตที่ภูตที่รวบรวมเอนโทรปีเช่น egd ให้ข้อมูลแบบสุ่มเช่น
/dev/egd-พูล.

ชื่อเล่น บนระบบที่ openssl ไม่พบแหล่งเอนโทรปีและไม่มีเอนโทรปี
การรวบรวมภูตสามารถใช้ได้ ตัวเลือกนี้จะเปิดใช้งานกลไกสำหรับการจัดหา
เอนโทรปีหลอก สิ่งนี้ถูกเก็บถาวรโดยใช้เวลาปัจจุบันในหน่วยไมโครวินาทีสำหรับ
ป้อนตัวสร้างตัวเลขสุ่มหลอก libc ด้วยค่าเริ่มต้น opensl คือ
จากนั้นป้อนด้วยเอาต์พุตจากการเรียก random\()
หมายเหตุ: กลไกนี้ไม่เพียงพอสำหรับการสร้างคีย์ความปลอดภัย!

อัด
เปิดหรือปิดการใช้การบีบอัดสำหรับการเชื่อมต่อ การตั้งค่านี้เป็น "ไม่มี"
ปิดใช้งานการบีบอัดโดยตั้งค่าเป็น "อัตโนมัติ" เพื่อให้ OpenSSL เลือกสิ่งที่ดีที่สุดที่มีอยู่
อัลกอริทึมที่สนับสนุนโดยทั้งสองฝ่าย ค่าเริ่มต้นคือไม่แตะต้องใดๆ
การตั้งค่าที่เกี่ยวข้องกับการบีบอัด หมายเหตุ: ต้องใช้ OpenSSL 0.9.8 หรือสูงกว่าและปิดการใช้งาน
การบีบอัดด้วย OpenSSL 0.9.8 ส่งผลต่อการเชื่อมต่อใหม่ทั้งหมดในกระบวนการ

ชื่อสามัญ=
ระบุชื่อสามัญที่ใบรับรองเพียร์ต้องตรงกัน ด้วย OPENSSL-CONNECT
ที่อยู่นี้จะแทนที่ชื่อโฮสต์หรือที่อยู่ IP เป้าหมายที่กำหนด ด้วย OPENSSL-LISTEN
สิ่งนี้จะเปิดการตรวจสอบชื่อสามัญของใบรับรองเพียร์ ตัวเลือกนี้มีความหมายเท่านั้น
เมื่อการตรวจสอบตัวเลือกไม่ถูกปิดใช้งานและรหัสที่เลือกจะมีเพียร์
ใบรับรอง

ฟิปส์ เปิดใช้งานโหมด FIPS หากคอมไพล์แล้ว สำหรับข้อมูลเกี่ยวกับการนำการเข้ารหัส FIPS ไปใช้
มาตรฐานเห็น http://oss-institute.org/fips-faq.html. โหมดนี้อาจต้องใช้สิ่งนั้น
ใบรับรองที่เกี่ยวข้องถูกสร้างขึ้นด้วย openssl เวอร์ชันที่เปิดใช้งาน FIPS
การตั้งค่าหรือล้างตัวเลือกนี้ในที่อยู่ socat เดียวจะมีผลกับที่อยู่ OpenSSL ทั้งหมด
ของกระบวนการนี้

ลองใหม่ ตัวเลือก กลุ่ม

ตัวเลือกที่ควบคุมการลองใหม่ของการเรียกระบบบางรายการ โดยเฉพาะความพยายามในการเชื่อมต่อ

ลองอีกครั้ง=
จำนวนครั้งของการลองใหม่ก่อนที่การเชื่อมต่อหรือการพยายามฟังจะถูกยกเลิก ค่าเริ่มต้นคือ
0 ซึ่งหมายถึงความพยายามเพียงครั้งเดียว

ช่วงเวลา=
เวลาระหว่างความพยายามต่อเนื่องกัน (วินาที [ตารางเวลา]) ค่าเริ่มต้นคือ 1 วินาที

ตลอดไป
ดำเนินการลองใหม่ได้ไม่จำกัดจำนวนครั้ง

TUN ตัวเลือก กลุ่ม

ตัวเลือกที่ควบคุมที่อยู่อุปกรณ์อินเทอร์เฟซ Linux TUN/TAP

tun-device=
สั่งให้ socat ใช้พาธอื่นสำหรับอุปกรณ์โคลน TUN ค่าเริ่มต้นคือ
/dev/net/tun./dev/เน็ต

tun-name=
ให้ชื่อเฉพาะกับอินเทอร์เฟซเครือข่ายที่เป็นผลลัพธ์แทนระบบ
สร้างแล้ว (tun0, tun1 เป็นต้น)

tun-type=[tun|แตะ]
ตั้งค่าประเภทของอุปกรณ์ TUN ใช้ตัวเลือกนี้เพื่อสร้างอุปกรณ์ TAP ดู
Linux docu สำหรับความแตกต่างระหว่างประเภทนี้ เมื่อคุณพยายามที่จะสร้าง a
อุโมงค์ระหว่างอุปกรณ์ TUN สองเครื่อง ประเภทของอุปกรณ์ควรเหมือนกัน

ถ้าไม่มีปี่
ตั้งค่าสถานะ IFF_NO_PI ซึ่งควบคุมว่าอุปกรณ์มีแพ็คเก็ตเพิ่มเติมหรือไม่
ข้อมูลในอุโมงค์ เมื่อคุณพยายามสร้างอุโมงค์ระหว่างสอง TUN
อุปกรณ์ แฟล็กเหล่านี้ควรมีค่าเหมือนกัน

ถ้าขึ้น ตั้งค่าสถานะอินเทอร์เฟซเครือข่าย TUN เป็น UP ขอแนะนำอย่างยิ่ง

iff-ออกอากาศ
ตั้งค่าแฟล็กออกอากาศของอินเทอร์เฟซเครือข่าย TUN

iff-debug
ตั้งค่าสถานะ DEBUG ของอินเทอร์เฟซเครือข่าย TUN

iff-วนกลับ
ตั้งค่าสถานะ LOOPBACK ของอินเทอร์เฟซเครือข่าย TUN

iff-จุด
ตั้งค่าสถานะ POINTOPOINT ของอุปกรณ์ TUN

iff-notrailers
ตั้งค่าสถานะ NOTRAILERS ของอุปกรณ์ TUN

iff-run
ตั้งค่าสถานะ RUNNING ของอุปกรณ์ TUN

iff-noarp
ตั้งค่าแฟล็ก NOARP ของอุปกรณ์ TUN

ถ้าสัญญา
ตั้งค่าสถานะ PROMISC ของอุปกรณ์ TUN

iff-allmulti
ตั้งค่าแฟล็ก ALLMULTI ของอุปกรณ์ TUN

iff-มาสเตอร์
ตั้งค่าสถานะ MASTER ของอุปกรณ์ TUN

iff-ทาส
ตั้งค่าแฟล็ก SLAVE ของอุปกรณ์ TUN

iff-มัลติคาสต์
ตั้งค่าแฟล็ก MULTICAST ของอุปกรณ์ TUN

iff-พอร์ตเซล
ตั้งค่าแฟล็ก PORTSEL ของอุปกรณ์ TUN

iff-automedia
ตั้งค่าแฟล็ก AUTOMEDIA ของอุปกรณ์ TUN

iff-ไดนามิก
ตั้งค่าสถานะ DYNAMIC ของอุปกรณ์ TUN

DATA VALUES


ส่วนนี้อธิบายประเภทข้อมูลต่าง ๆ ที่ระบุพารามิเตอร์และตัวเลือกที่อยู่
สามารถรับ

ที่อยู่-ช่วง
ปัจจุบันมีการใช้งานสำหรับ IPv4 และ IPv6 เท่านั้น ดูตัวเลือกที่อยู่ 'ช่วง'

บูล "0" หรือ "1"; หากไม่ระบุค่า ระบบจะใช้ "1"

byte หมายเลข int ที่ไม่ได้ลงนาม อ่านด้วย strtoul() ต่ำกว่าหรือเท่ากับ UCHAR_MAX

บรรทัดคำสั่ง
สตริงที่ระบุชื่อโปรแกรมและอาร์กิวเมนต์ คั่นด้วยช่องว่างเดียว

data ข้อมูลดิบข้อมูลจำเพาะดังต่อไปนี้ สาขา ไวยากรณ์ ปัจจุบันรูปแบบที่ถูกต้องเพียงอย่างเดียวคือ a
สตริงที่ขึ้นต้นด้วย 'x' ตามด้วยเลขฐานสิบหกหลัก โดยระบุ a
ลำดับของไบต์

ไดเรกทอรี
สตริงที่มีความหมายชื่อไดเร็กทอรี UN*X ตามปกติ

สิ่งอำนวยความสะดวก
ชื่อของสิ่งอำนวยความสะดวก syslog ด้วยอักขระตัวพิมพ์เล็ก

fdnum ชนิด int ที่ไม่ได้ลงนาม อ่านด้วย strtoul() ระบุตัวอธิบายไฟล์ UN*X

ชื่อไฟล์
สตริงที่มีความหมายชื่อไฟล์ UN*X ตามปกติ

กลุ่ม หากอักขระตัวแรกเป็นตัวเลขทศนิยม ค่าจะถูกอ่านด้วย strtoul() as
เลขจำนวนเต็มไม่ได้ลงนามซึ่งระบุรหัสกลุ่ม มิเช่นนั้นจะต้องเป็นกลุ่มที่มีอยู่
ชื่อ

int ตัวเลขตามกฎของฟังก์ชัน strtol() ที่มีฐาน "0" เช่น decimal
ตัวเลข เลขฐานแปดที่มี "0" นำหน้า หรือเลขฐานสิบหกที่มี "0x" นำหน้า ดิ
ค่าต้องพอดีกับ C int

อินเตอร์เฟซ
สตริงที่ระบุชื่ออุปกรณ์ของอินเทอร์เฟซเครือข่ายดังที่แสดงโดย ifconfig หรือ
procan เช่น "eth0"

ที่อยู่ IP
ที่อยู่ IPv4 ในรูปแบบตัวเลขและจุด ที่อยู่ IPv6 ในรูปแบบเลขฐานสิบหก
อยู่ในวงเล็บหรือชื่อโฮสต์ที่แก้ไขเป็นที่อยู่ IPv4 หรือ IPv6
ตัวอย่าง: 127.0.0.1, [::1], www.dest-unreach.org, dns1

ที่อยู่ IPv4
ที่อยู่ IPv4 ในรูปแบบตัวเลขและจุดหรือชื่อโฮสต์ที่แก้ไขเป็น IPv4
ที่อยู่
ตัวอย่าง: 127.0.0.1, www.dest-unreach.org, dns2

ที่อยู่ IPv6
ที่อยู่ iPv6 ในรูปแบบเลขฐานสิบหกและเครื่องหมายทวิภาคที่อยู่ในวงเล็บหรือ
ชื่อโฮสต์ที่แก้ไขเป็นที่อยู่ IPv6
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

ยาว ตัวเลขที่อ่านด้วย strtol() ค่าต้องพอดีกับความยาว C

ยาวนาน
ตัวเลขที่อ่านด้วย strtoll() ค่าต้องพอดีกับความยาว C

off_t การนำไปใช้ขึ้นอยู่กับจำนวนที่ลงนาม ปกติจะเป็น 32 บิต อ่านด้วย strtol หรือ
เดินเล่น

ปิด64_t
การใช้งานขึ้นอยู่กับจำนวนที่ลงนาม ซึ่งมักจะเป็น 64 บิต อ่านด้วย strtol หรือ
เดินเล่น

mode_t จำนวนเต็มที่ไม่ได้ลงนาม อ่านด้วย strtoul() ระบุโหมด (การอนุญาต) บิต

pid_t ตัวเลข อ่านด้วย strtol() ระบุรหัสกระบวนการ

พอร์ต A uint16_t (หมายเลขที่ไม่ได้ลงนาม 16 บิต) ที่ระบุพอร์ต TCP หรือ UDP อ่านด้วย
สตรัท () .

โปรโตคอล
หมายเลข 8 บิตที่ไม่ได้ลงนาม อ่านด้วย strtoul()

size_t หมายเลขที่ไม่มีเครื่องหมายซึ่งมีข้อจำกัด size_t อ่านด้วย strtoul

ชื่อถุงเท้า
ที่อยู่ซ็อกเก็ต ดูตัวเลือกที่อยู่ 'ผูก'

string ลำดับของอักขระที่ไม่มี '\0' และขึ้นอยู่กับตำแหน่งภายใน
บรรทัดคำสั่ง ':', ',' หรือ "!!" โปรดทราบว่าคุณอาจต้องหลีกเลี่ยงเชลล์ meta
อักขระในบรรทัดคำสั่ง

บริการ TCP
ชื่อบริการที่ไม่ขึ้นต้นด้วยตัวเลขที่แก้ไขโดย getservbyname() หรือ
อ่านหมายเลข int 16 บิตที่ไม่ได้ลงชื่อด้วย strtoul()

ช่วงเวลา
ทุ่นคู่ระบุวินาที; ตัวเลขถูกแมปเข้ากับ struct timeval
ประกอบด้วยวินาทีและไมโครวินาที

ตารางเวลา
ทุ่นคู่ระบุวินาที; หมายเลขถูกแมปเข้ากับ struct timespec
ประกอบด้วยวินาทีและนาโนวินาที

บริการ UDP
ชื่อบริการที่ไม่ขึ้นต้นด้วยตัวเลขที่แก้ไขโดย getservbyname() หรือ
อ่านหมายเลข int 16 บิตที่ไม่ได้ลงชื่อด้วย strtoul()

int ที่ไม่ได้ลงนาม
ตัวเลขที่อ่านด้วย strtoul() ค่าต้องพอดีกับ C unsigned int

ผู้ใช้ หากอักขระตัวแรกเป็นตัวเลขทศนิยม ค่าจะถูกอ่านด้วย strtoul() as
เลขจำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุ ID ผู้ใช้ มิเช่นนั้นจะต้องเป็นชื่อผู้ใช้ที่มีอยู่

ตัวอย่าง


โซแคท - TCP4:www.domain.org:80

ถ่ายโอนข้อมูลระหว่าง STDIO (-) และการเชื่อมต่อ TCP4 ไปยังพอร์ต 80 ของโฮสต์
www.โดเมน.org ตัวอย่างนี้ส่งผลให้เกิดการเชื่อมต่อแบบโต้ตอบที่คล้ายกับ telnet
หรือเน็ตแคท พารามิเตอร์เทอร์มินัล stdin จะไม่เปลี่ยนแปลง ดังนั้นคุณสามารถปิด
ส่งต่อด้วย ^D หรือยกเลิกด้วย ^C

โซแคท -d -d อ่านประวัติ=$HOME/.http_history \
TCP4:www.domain.org:www,crnl

คล้ายกับตัวอย่างก่อนหน้านี้ แต่คุณสามารถแก้ไขบรรทัดปัจจุบันใน a
bash like ลักษณะ (READLINE) และใช้ไฟล์ประวัติ .http_history; โซแคท พิมพ์
ข้อความเกี่ยวกับความคืบหน้า (-d -d) พอร์ตถูกระบุด้วยชื่อบริการ (www) และ
ใช้อักขระสิ้นสุดบรรทัดเครือข่ายที่ถูกต้อง (crnl) แทน NL

โซแคท TCP4-ฟัง:www TCP4:www.domain.org:www

ติดตั้งตัวส่งต่อพอร์ต TCP อย่างง่าย ด้วย TCP4-LISTEN จะฟังบนพอร์ตในเครื่อง
"www" จนกว่าจะมีการเชื่อมต่อ ยอมรับ แล้วเชื่อมต่อกับรีโมตโฮสต์
(TCP4) และเริ่มถ่ายโอนข้อมูล จะไม่ยอมรับการเชื่อมต่อที่สอง

โซแคท -d -d -lmlocal2 \
TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 \
TCP4:www.domain.org:80,bind=myaddr2

ตัวส่งต่อพอร์ต TCP แต่ละด้านผูกกับที่อยู่ IP ในเครื่องอื่น (ผูก) นี้
ตัวอย่างจัดการจำนวนการเชื่อมต่อแบบขนานหรือต่อเนื่องกันเกือบตามอำเภอใจ
โดยแยกกระบวนการใหม่หลังจากแต่ละ accept() ให้ความปลอดภัยเล็กน้อยโดย
su'ing กับผู้ใช้ไม่มีใครหลังจากฟอร์ก; อนุญาตเฉพาะการเชื่อมต่อจากส่วนตัว
10 เครือข่าย (ช่วง); เนื่องจาก reuseaddr อนุญาตให้รีสตาร์ททันทีหลังจาก master
การยุติกระบวนการ แม้ว่าซ็อกเก็ตลูกบางตัวจะไม่ปิดตัวลงอย่างสมบูรณ์
ด้วย -lmlocal2 socat จะบันทึกไปยัง stderr จนกว่าจะถึงลูปที่ยอมรับได้สำเร็จ
การบันทึกเพิ่มเติมจะถูกส่งไปยัง syslog ด้วยสิ่งอำนวยความสะดวก local2

โซแคท TCP4-LISTEN:5555,fork,tcpwrap=สคริปต์ \
EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr

เซิร์ฟเวอร์ธรรมดาที่ยอมรับการเชื่อมต่อ (TCP4-LISTEN) และแยกลูกใหม่
กระบวนการสำหรับการเชื่อมต่อแต่ละครั้ง เด็กทุกคนทำหน้าที่เป็นรีเลย์เดี่ยว ลูกค้าต้อง
ตรงกับกฎสำหรับชื่อกระบวนการภูต "สคริปต์" ใน /etc/hosts.allow และ
/etc/hosts.denyมิฉะนั้นจะถูกปฏิเสธการเข้าถึง (ดู "man 5 hosts_access") สำหรับ
EXEC'uting โปรแกรม ลูกประมวลผล chroot's to /home/แซนด์บ็อกซ์, su ถึงผู้ใช้
sandbox แล้วเริ่มโปรแกรม /home/sandbox/bin/myscript. โซกัต และ myscript
สื่อสารผ่าน pseudo tty (pty); stderr ของ myscript ถูกเปลี่ยนเส้นทางไปที่ stdout ดังนั้น
ข้อความแสดงข้อผิดพลาดจะถูกโอนผ่าน โซแคท ให้กับลูกค้าที่เชื่อมต่อ

โซแคท EXEC:"mail.sh [ป้องกันอีเมล]",fdin=3,fdout=4 \
TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512

จดหมาย.sh เป็นเชลล์สคริปต์ แจกจ่ายด้วย โซแคทที่ใช้ SMTP . อย่างง่าย
ลูกค้า. มันถูกตั้งโปรแกรมให้ "พูด" SMTP บน FDs 3 (เข้า) และ 4 (ออก) เดอะ fdin
และตัวเลือก fdout บอก โซแคท เพื่อใช้ FDs เหล่านี้ในการสื่อสารกับโปรแกรม
เนื่องจาก mail.sh สืบทอด stdin และ stdout ในขณะที่ โซแคท ไม่ได้ใช้พวกเขาสคริปต์
สามารถอ่านเนื้อหาเมลจาก stdin โซกัต ทำให้ alias1 ที่อยู่ต้นทางในพื้นที่ของคุณ
(ผูก) ดูแลการสิ้นสุดสายเครือข่ายที่ถูกต้อง (crnl) และส่งไม่เกิน512
ไบต์ข้อมูลต่อแพ็กเก็ต (mss)

โซแคท -,หนี=0x0f /dev/ttyS0,rawer,crnl

เปิดการเชื่อมต่อแบบโต้ตอบผ่านสายซีเรียล เช่น สำหรับการพูดคุยกับโมเด็ม
rawer ตั้งค่าพารามิเตอร์เทอร์มินัลของคอนโซลและ ttyS0 เป็นค่าที่ปฏิบัติได้
crnl แปลงเป็นอักขระขึ้นบรรทัดใหม่ที่ถูกต้อง หลบหนีอนุญาตให้ยุติ socat
กระบวนการด้วยการควบคุมตัวละคร-O

โซแคท UNIX-ฟัง:/tmp/.X11-unix/X1,ส้อม \
SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=nobody,sourceport=20

ด้วย UNIX-LISTEN โซแคท เปิดซ็อกเก็ตโดเมน UNIX ที่กำลังรับฟัง /tmp/.X11-unix/X1.
เส้นทางนี้สอดคล้องกับการแสดงผล XWindow ในเครื่อง :1 บนเครื่องของคุณ ดังนั้น XWindow
การเชื่อมต่อไคลเอ็นต์กับ DISPLAY=:1 ได้รับการยอมรับแล้ว โซกัต แล้วพูดกับ SOCKS4
เซิร์ฟเวอร์ host.victim.org ที่อาจอนุญาตการเชื่อมต่อตาม sourceport 20 เนื่องจาก an
จุดอ่อนที่เกี่ยวข้องกับ FTP ในตัวกรอง IP แบบคงที่ โซกัต แสร้งทำเป็นถูกเรียกโดย
ไม่มีถุงเท้าผู้ใช้และขอให้เชื่อมต่อกับพอร์ตย้อนกลับ 6000 (อ่อนแอเท่านั้น
การกำหนดค่า sockd จะอนุญาตสิ่งนี้) ดังนั้นเราจึงได้เชื่อมต่อกับเหยื่อ
เซิร์ฟเวอร์ XWindow และหากไม่ต้องการคุกกี้ MIT หรือการตรวจสอบสิทธิ์ Kerberos
เราสามารถเริ่มทำงาน โปรดทราบว่าสามารถเชื่อมต่อได้ครั้งละหนึ่งรายการเท่านั้น
เนื่องจาก TCP สามารถสร้างได้เพียงเซสชันเดียวด้วยชุดที่อยู่และพอร์ตที่กำหนด

โซแคท -u /tmp/readdata,seek-end=0,ละเลย -

นี่เป็นตัวอย่างสำหรับการถ่ายโอนข้อมูลแบบทิศทางเดียว (-u) โซกัต ถ่ายโอนข้อมูลจาก
ไฟล์ /tmp/readdata (ที่อยู่โดยนัย GOPEN) เริ่มต้นที่จุดสิ้นสุดปัจจุบัน
(seek-end=0 ให้ โซแคท เริ่มอ่านเมื่อสิ้นสุดไฟล์ปัจจุบัน ใช้ Seek=0 หรือ ไม่แสวงหา
ตัวเลือกในการอ่านข้อมูลที่มีอยู่ก่อน) ในโหมด "tail -f" (ละเว้น) ดิ
"file" อาจเป็นซ็อกเก็ตโดเมน UNIX ที่กำลังฟังอยู่ (อย่าใช้ตัวเลือกการค้นหา
แล้ว)

(นอน 5; เสียงสะท้อน รหัสผ่าน; นอนหลับ 5; เสียงสะท้อน ลส; นอนหลับ 1) |
โซแคท - EXEC:'ssh -l ผู้ใช้งาน เซิร์ฟเวอร์',pty,setsid,ctty

EXEC'utes เซสชัน ssh ไปยังเซิร์ฟเวอร์ ใช้ pty สำหรับการสื่อสารระหว่าง โซแคท และ
ssh ทำให้ ssh ควบคุม tty (ctty) และทำให้ pty นี้เป็นเจ้าของใหม่
กลุ่มกระบวนการ (setsid) ดังนั้น ssh ยอมรับรหัสผ่านจาก โซแคท.

โซแคท -u TCP4-LISTEN:3334,นำกลับมาใช้ใหม่,ส้อม \
เปิด:/tmp/in.log,creat,append

ใช้ตัวรวบรวมข้อความตามเครือข่ายอย่างง่าย สำหรับลูกค้าแต่ละรายที่เชื่อมต่อกับ
พอร์ต 3334 กระบวนการลูกใหม่ถูกสร้างขึ้น (ตัวเลือกส้อม) ข้อมูลทั้งหมดที่ส่งโดย
ไคลเอ็นต์ถูกผนวกเข้ากับไฟล์ /tmp/in.log หากไม่มีไฟล์อยู่ socat
สร้างมัน ตัวเลือก reuseaddr ช่วยให้สามารถรีสตาร์ทกระบวนการเซิร์ฟเวอร์ได้ทันที

โซแคท PTY,link=$HOME/dev/vmodem0,rawer,รอ-ทาส \
EXEC:"ชู่ว โมเด็มเซิร์ฟเวอร์.us.org โซแคท - /dev/ttyS0,ไม่บล็อก,rawer"

สร้างอุปกรณ์ปลายทางหลอก (PTY) บนไคลเอนต์ที่สามารถเข้าถึงได้ภายใต้
ลิงค์สัญลักษณ์ $HOME/dev/vmodem0. แอปพลิเคชันที่คาดว่าจะมีสายซีเรียลหรือ
โมเด็มสามารถกำหนดค่าให้ใช้ $HOME/dev/vmodem0; การจราจรจะถูกนำไปยังa
โมเด็มเซิร์ฟเวอร์ผ่าน ssh โดยที่อินสแตนซ์ socat อื่นเชื่อมโยงไปยัง /dev/ttyS0.

โซแคท TCP4-LISTEN:2022,นำกลับมาใช้ใหม่,ส้อม \
พร็อกซี:proxy:www.domain.org:22,proxyport=3128,proxyauth=user:pass

เริ่มต้นผู้ส่งต่อที่ยอมรับการเชื่อมต่อบนพอร์ต 2022 และนำทางพวกเขาผ่าน
proxy daemon กำลังฟังบนพอร์ต 3128 (proxyport) บนโฮสต์พรอกซี โดยใช้
เมธอด CONNECT โดยจะรับรองความถูกต้องว่าเป็น "ผู้ใช้" ด้วย "pass" (proxyauth) ดิ
พร็อกซี่ควรสร้างการเชื่อมต่อกับโฮสต์ www.domain.org บนพอร์ต 22 จากนั้น

โซแคท - OPENSL:เซิร์ฟเวอร์:4443,cafile=server.crt,cert=client.pem

เป็นไคลเอนต์ OpenSSL ที่พยายามสร้างการเชื่อมต่อที่ปลอดภัยกับเซิร์ฟเวอร์ SSL
ตัวเลือก cafile ระบุไฟล์ที่มีใบรับรองความน่าเชื่อถือ: เราเชื่อถือ
เซิร์ฟเวอร์ก็ต่อเมื่อแสดงหนึ่งในใบรับรองเหล่านี้และหลักฐานยืนยันว่าเป็นเจ้าของ
คีย์ส่วนตัวที่เกี่ยวข้อง มิฉะนั้นการเชื่อมต่อจะสิ้นสุดลง พร้อมใบรับรองไฟล์
มีการระบุใบรับรองไคลเอ็นต์และคีย์ส่วนตัวที่เกี่ยวข้อง นี้
จำเป็นในกรณีที่เซิร์ฟเวอร์ต้องการการรับรองความถูกต้องของไคลเอ็นต์ อินเทอร์เน็ตมากมาย
เซิร์ฟเวอร์ไม่ได้
ที่อยู่แรก ('-') สามารถแทนที่ด้วยที่อยู่ socat อื่นๆ เกือบทั้งหมด

โซแคท OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.crt ท่อ

เป็นเซิร์ฟเวอร์ OpenSSL ที่ยอมรับการเชื่อมต่อ TCP แสดงใบรับรองจาก
ไฟล์ server.pem และบังคับให้ไคลเอนต์แสดงใบรับรองที่ตรวจสอบแล้ว
กับ cafile.crt
ที่อยู่ที่สอง ('PIPE') สามารถแทนที่ด้วยที่อยู่ socat อื่นๆ เกือบทั้งหมด
สำหรับคำแนะนำในการสร้างและแจกจ่ายคีย์และใบรับรอง OpenSSL โปรดดูที่
socat docu socat-openssl.txt เพิ่มเติม

เสียงสะท้อน |โซแคท -u - ไฟล์:/tmp/bigfile,สร้าง,ไฟล์ขนาดใหญ่,ค้นหา=100000000000

สร้างไฟล์กระจัดกระจาย 100GB; ต้องใช้ประเภทระบบไฟล์ที่รองรับสิ่งนี้
(ext2, ext3, reiserfs, jfs ไม่ใช่ minix, vfat) การดำเนินการเขียน 1 ไบต์อาจ
ใช้เวลานาน (reiserfs: บางนาที ext2: เวลา "ไม่") และไฟล์ผลลัพธ์สามารถ
ใช้พื้นที่ดิสก์บางส่วนด้วยไอโหนด (reiserfs: 2MB; ext2: 16KB)

โซแคท tcp-l:7777,reuseaddr,ส้อม ระบบ:'filan -i 0 -s >&2',nofork

รับฟังการเชื่อมต่อ TCP ขาเข้าบนพอร์ต 7777 สำหรับการเชื่อมต่อที่ยอมรับแต่ละครั้ง
เรียกเปลือก เชลล์นี้มี stdin และ stdout เชื่อมต่อโดยตรงกับ TCP
ซ็อกเก็ต (nofork) เชลล์เริ่ม filan และปล่อยให้มันพิมพ์ที่อยู่ซ็อกเก็ตไปที่
stderr (หน้าต่างเทอร์มินัลของคุณ)

เสียงสะท้อน - ที่สุด "\0\14\0\0\c" |โซแคท -u - ไฟล์:/usr/bin/squid.exe,seek=0x00074420

ทำหน้าที่เป็นตัวแก้ไขไบนารีดั้งเดิม: มันเขียน 4 ไบต์ 000 014 000 000 ไปยัง
ปฏิบัติการได้ /usr/bin/squid ที่ offset 0x00074420 (นี่คือแพทช์ในโลกแห่งความเป็นจริงที่จะทำ
ปลาหมึกที่เรียกใช้งานได้จาก Cygwin ทำงานภายใต้ Windows จริงในเดือนพฤษภาคม 2004)

โซแคท - tcp:www.blackhat.org:31337,readbytes=1000

เชื่อมต่อกับบริการที่ไม่รู้จักและป้องกันไม่ให้ถูกน้ำท่วม

โซแคท -U TCP:target:9999,สิ้นสุด-ปิด TCP-L:8888,reuseaddr,ส้อม

รวมข้อมูลที่มาจากสตรีม TCP ที่แตกต่างกันบนพอร์ต 8888 ให้เป็นสตรีมเดียวไปยัง
เป้าหมาย:9999 ตัวเลือก end-close ป้องกันไม่ให้โปรเซสลูกถูกแยกโดย
ที่อยู่ที่สองจากการยกเลิกการเชื่อมต่อที่ใช้ร่วมกันถึง 9999 (ปิด\(2) just
ยกเลิกการเชื่อมโยงไอโหนดที่ทำงานอยู่ตราบเท่าที่กระบวนการหลักยังมีชีวิตอยู่
shutdown\(2) จะยุติการเชื่อมต่ออย่างแข็งขัน)

โซแคท - UDP4-DATAGRAM:192.168.1.0:123,sp=123,broadcast,range=192.168.1.0/24

ส่งการออกอากาศไปยังเครือข่าย 192.168.1.0/24 และรับการตอบกลับของ
เซิร์ฟเวอร์เวลาอยู่ที่นั่น ละเว้นแพ็กเก็ต NTP จากโฮสต์ภายนอกเครือข่ายนี้

โซแคท - SOCKET-DATAGRAM:2:2:17:x007bxc0a80100x0000000000000000,b‐
ind=x007bx00000000x0000000000000000,setsockopt-int=1:6:1,r‐
ange=x0000xc0a80100x0000000000000000:x0000xffffff00x0000000000000000

มีความหมายเทียบเท่ากับตัวอย่างก่อนหน้านี้ แต่พารามิเตอร์ทั้งหมดคือ
ระบุไว้ในรูปแบบทั่วไป ค่า 6 ของ setsockopt-int คือค่า Linux สำหรับ
SO_BROADCAST

โซแคท - IP4-DATAGRAM:255.255.255.255:44,broadcast,range=10.0.0.0/8

ส่งการออกอากาศไปยังเครือข่ายท้องถิ่นโดยใช้โปรโตคอล 44. ยอมรับการตอบกลับจาก
ช่วงที่อยู่ส่วนตัวเท่านั้น

โซแคท - UDP4-DATAGRAM:224.255.0.1:6666,bind=:6666,ip-add-membership=224.255.0.1:eth0

ถ่ายโอนข้อมูลจาก stdin ไปยังที่อยู่มัลติคาสต์ที่ระบุโดยใช้ UDP ทั้งท้องถิ่น
และรีโมตพอร์ตคือ 6666 บอกให้อินเตอร์เฟส eth0 ยอมรับมัลติคาสต์ด้วย
แพ็กเก็ตของกลุ่มที่กำหนด โฮสต์หลายตัวบนเครือข่ายท้องถิ่นสามารถเรียกใช้สิ่งนี้
คำสั่ง ดังนั้นข้อมูลทั้งหมดที่ส่งโดยโฮสต์ใด ๆ จะได้รับโดยผู้อื่นทั้งหมด
คน โปรดทราบว่ามีสาเหตุที่เป็นไปได้หลายประการสำหรับความล้มเหลว รวมถึงตัวกรอง IP
ปัญหาการกำหนดเส้นทาง การเลือกอินเทอร์เฟซที่ไม่ถูกต้องโดยระบบปฏิบัติการ บริดจ์ หรือ a
สวิตช์ที่กำหนดค่าไม่ดี

โซแคท TCP:โฮสต์2:4443 TUN: 192.168.255.1/24 ขึ้นไป

สร้างด้านหนึ่งของเครือข่ายเสมือน (แต่ไม่ใช่ส่วนตัว!) กับ host2 โดยที่ a
กระบวนการที่คล้ายกันอาจทำงานด้วย UDP-L และที่อยู่ปรับแต่ง 192.168.255.2 พวกเขาสามารถเข้าถึงได้
กันโดยใช้ที่อยู่ 192.168.255.1 และ 192.168.255.2 โปรดทราบว่าสตรีมมิ่ง
เช่น. ผ่าน TCP หรือ SSL ไม่รับประกันว่าจะรักษาขอบเขตของแพ็กเก็ตและอาจเป็นเช่นนั้น
ทำให้แพ็กเก็ตสูญหาย

โซแคท PTY,link=/var/run/ppp,rawer อินเทอร์เฟซ:hdlc0

หลีกเลี่ยงปัญหาที่ pppd ต้องใช้อุปกรณ์ซีเรียลและอาจไม่เป็นเช่นนั้น
สามารถทำงานบนสายซิงโครนัสที่แสดงโดยอุปกรณ์เครือข่าย socat
สร้าง PTY เพื่อทำให้ pppd มีความสุข เชื่อมโยงกับอินเทอร์เฟซเครือข่าย hdlc0 และ can
ถ่ายโอนข้อมูลระหว่างอุปกรณ์ทั้งสอง ใช้ pppd บนอุปกรณ์ /var/run/ppp จากนั้น

โซแคท -T 1 -d -d TCP-L:10081,นำกลับมาใช้ใหม่,ส้อม,crlf ระบบ:"echo -e \"\\\"HTTP/1.0 200
ตกลง\\\nประเภทเอกสาร: ข้อความ/ธรรมดา\\\n\\\nวันที่:
\$\(วันที่\)\\\nเซิร์ฟเวอร์:\$SOCAT_SOCKADDR:\$SOCAT_SOCKPORT\\\nclient:
\$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\\n\\\"\"; แมว; เสียงสะท้อน -e \"\\\"\\\n\\\"\""

สร้างเซิร์ฟเวอร์ HTTP echo อย่างง่าย: แต่ละไคลเอนต์ HTTP ที่เชื่อมต่อได้รับ HTTP . ที่ถูกต้อง
ตอบกลับที่มีข้อมูลเกี่ยวกับที่อยู่ไคลเอนต์และพอร์ตตามที่
โฮสต์เซิร์ฟเวอร์ ที่อยู่โฮสต์ (ซึ่งอาจแตกต่างกันไปในเซิร์ฟเวอร์ multihomed) และ
คำขอของลูกค้าเดิม

โซแคท -d -d
UDP4-RECVFROM:9999,การออกอากาศดังนั้น,การประทับเวลา,ip-pktinfo,ip-recverr,ip-recvopts,ip-recvtos,ip-recvttl!!-
ระบบ:'ส่งออก; นอนหลับ 1 ' |grep โสกัต

รอแพ็กเก็ต UDP ขาเข้าบนพอร์ต 9999 และพิมพ์ตัวแปรสภาพแวดล้อม
จัดทำโดย socat บนระบบที่ใช้ BSD คุณต้องแทนที่ ip-pktinfo ด้วย
ip-recvdstadr,ip-recvif. ที่น่าสนใจเป็นพิเศษคือ SOCAT_IP_DSTADDR: ประกอบด้วย
ที่อยู่เป้าหมายของแพ็กเก็ตซึ่งอาจเป็นแบบ unicast, multicast หรือ broadcast
ที่อยู่

วินิจฉัย


โซกัต ใช้กลไกการบันทึกที่อนุญาตให้กรองข้อความตามความรุนแรง ความรุนแรง
ที่ให้มานั้นเข้ากันได้กับลำดับความสำคัญ syslog ที่เหมาะสมไม่มากก็น้อย ด้วยหนึ่งหรือมากถึง
ตัวเลือกบรรทัดคำสั่ง -d สี่ครั้ง ลำดับความสำคัญต่ำสุดของข้อความที่เป็น
สามารถเลือกออกได้ แต่ละข้อความมีตัวพิมพ์ใหญ่เพียงตัวเดียวที่ระบุ
ความรุนแรงของข้อความ (หนึ่งใน F, E, W, N, I หรือ D)

FATAL: เงื่อนไขที่ต้องมีการยกเลิกโปรแกรมแบบไม่มีเงื่อนไขและทันที

ข้อผิดพลาด: เงื่อนไขที่ขัดขวางการประมวลผลโปรแกรมที่เหมาะสม โดยปกติโปรแกรมคือ
สิ้นสุด (ดูตัวเลือก -s)

คำเตือน:
มีบางอย่างทำงานไม่ถูกต้องหรืออยู่ในสถานะที่ถูกต้องต่อไป
ไม่สามารถรับประกันการประมวลผลได้ แต่อาจเป็นไปได้

ข้อสังเกต:
การดำเนินการที่น่าสนใจของโปรแกรม เช่น สำหรับการกำกับดูแล โซแคท ในบางประเภท
โหมดเซิร์ฟเวอร์

ข้อมูล: คำอธิบายว่าโปรแกรมทำอะไร และอาจเป็นเพราะเหตุใด อนุญาตให้ตรวจสอบ
วงจรชีวิตของตัวอธิบายไฟล์

DEBUG: คำอธิบายวิธีการทำงานของโปรแกรม การเรียกใช้ระบบหรือไลบรารีทั้งหมดและ
ผล.

ข้อความบันทึกสามารถเขียนไปยัง stderr, ไฟล์ หรือ syslog

เมื่อออก โซแคท ให้สถานะ 0 หากสิ้นสุดเนื่องจาก EOF หรือการหมดเวลาไม่มีการใช้งานด้วย a
ค่าบวกกับข้อผิดพลาด และค่าลบกับข้อผิดพลาดร้ายแรง

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


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    NSIS: ระบบติดตั้งสคริปต์ Nullsoft
    NSIS: ระบบติดตั้งสคริปต์ Nullsoft
    NSIS (การติดตั้งสคริปต์ Nullsoft
    System) เป็นโอเพ่นซอร์สระดับมืออาชีพ
    ระบบสร้างตัวติดตั้ง Windows มัน
    ได้รับการออกแบบให้มีขนาดเล็กและยืดหยุ่น
    อย่างพอสซี่...
    ดาวน์โหลด NSIS: Nullsoft Scriptable Install System
  • 2
    รับรองความถูกต้อง
    รับรองความถูกต้อง
    AuthPass เป็นรหัสผ่านโอเพ่นซอร์ส
    ผู้จัดการด้วยการสนับสนุนที่เป็นที่นิยมและ
    Keepass ที่พิสูจน์แล้ว (kdbx 3.x และ kdbx 4.x ...
    ดาวน์โหลด authpass
  • 3
    Zabbix
    Zabbix
    Zabbix เป็น open ระดับองค์กร
    โซลูชันการตรวจสอบแบบกระจายแหล่งที่มา
    ออกแบบมาเพื่อตรวจสอบและติดตาม
    ประสิทธิภาพและความพร้อมใช้งานของเครือข่าย
    เซิร์ฟเวอร์ อุปกรณ์...
    ดาวน์โหลด Zabbix
  • 4
    เคดิฟ3
    เคดิฟ3
    ที่เก็บนี้ไม่ได้รับการดูแลอีกต่อไป
    และเก็บไว้เพื่อวัตถุประสงค์ในการเก็บถาวร ดู
    https://invent.kde.org/sdk/kdiff3 for
    รหัสใหม่ล่าสุดและ
    https://download.kde.o...
    ดาวน์โหลด KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX เป็น GUI สำหรับ
    USB Loader ของ Waninkoko ขึ้นอยู่กับ
    ลิบวิกี จะช่วยให้รายการและ
    เปิดตัวเกม Wii เกม Gamecube และ
    homebrew บน Wii และ WiiU...
    ดาวน์โหลด USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS นำเสนอคุณสมบัติ ANSI SQL
    & ทำงานบน Linux, Windows &
    หลายแพลตฟอร์ม Unix คุณสมบัติ
    การทำงานพร้อมกันและประสิทธิภาพที่ยอดเยี่ยม
    & พลัง...
    ดาวน์โหลด Firebird
  • เพิ่มเติม»

คำสั่ง Linux

Ad