ฉันเคยexec 3<>/dev/tcp/192.168.0.101/6435
สร้างการเชื่อมต่อ TCP กับ 192.168.0.101:6435 และฉันได้รับรวมทั้งส่งข้อความสองสามข้อความด้วยpipe
คำคำสั่ง
ตอนนี้ฉันต้องการยกเลิกการเชื่อมต่อ TCP แต่ด้วยss -anpet
ฉันสามารถเห็นว่าทุบตีตัวเองถือการเชื่อมต่อนี้โดยไม่ต้องแยกกระบวนการเด็ก
ฉันพยายามส่งสัญญาณ 9 และ 15 ไปยังกระบวนการทุบตี แต่อย่างที่ทราบกันว่าทุบตีไม่สามารถฆ่าตัวตายได้
ดังนั้นฉันสามารถยุติการเชื่อมต่อ TCP ที่ฉันสร้างขึ้นได้โดยไม่ยกเลิก pts ที่ฉันกำลังใช้ (ไม่ฆ่าด้วย root หรือส่ง Ctrl + D)?
bash
แน่นอนสามารถฆ่าตัวตาย - แม้ว่านั่นไม่ใช่สิ่งที่คุณต้องการทำที่นี่จริง ๆ !
@TJM เพื่อทำให้คำถามที่น่าสนใจนี้มีประโยชน์กับผู้อื่นมากขึ้นคุณช่วยอธิบายรายละเอียดเกี่ยวกับ
—
arielf
pipe
คำสั่งที่คุณใช้และสิ่งที่ฉันไม่สามารถหาได้ในระบบของฉัน? แพ็คเกจใดpipe
มาจากไหน คุณสามารถส่งพารามิเตอร์อะไร (ตัวอย่าง) เพื่อส่ง / รับข้อมูลผ่านการ/dev/tcp/...
เชื่อมต่อ ขอบคุณ
@ arielf โดยทั่วไปแล้วฉันเป็นผู้เริ่มต้นของวิทยาการคอมพิวเตอร์และฉันพบว่าการใช้งานแบบนี้จากสคริปต์ bash shell ที่เรียกว่า sedbot คุณสามารถค้นหาได้จาก Github ใช่ฉันไม่พบไฟล์ใด ๆ
—
TJM
/dev/tcp
แม้จะไม่สามารถค้นหา/dev/tcp
ไฟล์ได้ แต่ดูเหมือนว่าการใช้งานพิเศษที่คุณสามารถส่ง / รับข้อมูลด้วยpipe
และไฟล์ประเภทนี้ มันบอกว่าใช้/dev/tcp/ip/port
สำหรับการเชื่อมต่อ TCP และ/dev/udp/ip/port
สำหรับแพคเกจ UDP สำหรับภาษาอังกฤษของฉันไม่ดีมากฉันไม่รู้วิธีอธิบายอย่างถูกต้อง โปรดแก้ไขคำถามและโพสต์คำตอบ
@TJM ขอบคุณ คำถามเกี่ยวกับ
—
arielf
pipe
คำสั่งที่คุณพูดถึง https://github.com/clsr/sedbot/blob/master/sedbot.bash
ผมมองไปที่ ไม่มีpipe
คำสั่งที่นั่น มันกำหนดสองฟังก์ชั่น: readmsg
และsendmsg
การอ่าน / เขียนจาก / ไปยังการเชื่อมต่อตามลำดับ readmsg
ใช้IFS= read -r -u 3 -t "$READ_TIMEOUT" line
ในการอ่านจาก file-descriptor 3 ไปยังตัวแปรline
และsendmsg
ใช้echo "$(date +%s.%N) >>> $line" >&4
เพื่อเขียนลงใน file descriptor 4 อย่างไรก็ตามนี่จะชี้แจงวิธีการแบบเต็ม การpipe
กล่าวถึง "คำสั่ง" ยังคงเป็นปริศนาสำหรับผู้อ่าน
bash
ด้วยกระสุนนั้น