คำถามติดแท็ก socat

3
พฤติกรรมของ Netcat / socat กับ piping และ UDP?
ฉันเดาว่ามันใกล้เคียง linux - Netcat หยุดฟังการรับส่งข้อมูล UDP - Super User แต่ฉันคิดว่าฉันควรจะถามอะไรเพิ่มเติม เท่าที่ เวอร์ชันของ netcat ฉันใช้ Ubuntu 11.04 และเป็นค่าเริ่มต้น netcat บนซึ่งฉันเดาว่าเป็น openbsd หนึ่ง: $ nc This is nc from the netcat-openbsd package. An alternative nc is available in the netcat-traditional package. usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port] [-s source_ip_address] …
13 pipe  udp  netcat  socat 

2
วิธีการทำให้โซคอตมีชีวิตอยู่โดยใช้ตัวเลือก keepalive
ฉันมีคำสั่ง socat ที่ทำงานได้ดี แต่เมื่อไม่มีการถ่ายโอนข้อมูลมันกำลังจะตายหลังจาก 5 นาทีและฉันไม่เข้าใจว่าทำไมเพราะฉันตั้งค่าให้ส่ง 100 keepalive ทุก 10 วินาทีหลังจาก 10 วินาทีแรก . จากสิ่งที่ฉันเข้าใจเกี่ยวกับหน้า man socat ที่ควรจะมีชีวิตอยู่เป็นเวลา 1000s คือ 16 นาที นอกจากนี้ถ้าฉันพยายามตั้ง keepcnt เป็น 200 ฉันจะได้รับ "setsockopt (7, 6, 6, {200}, 4): อาร์กิวเมนต์ไม่ถูกต้อง" แต่ไม่มีที่ไหนบนอินเทอร์เน็ตฉันจะหาค่าสูงสุดสำหรับอาร์กิวเมนต์นั้นได้อย่างไร ฉันต้องคิดถึงบางสิ่งที่ชัดเจนมากที่นี่ การทดลองเพิ่มเติมกับข้อโต้แย้งไม่เคยเปลี่ยนค่าการหมดเวลาของ 5mn การตั้งค่าที่ต่ำกว่าสำหรับ keepcnt และค่าที่สูงกว่าของ keepintvl นั้นเป็นที่ยอมรับ แต่ไม่มีผลกระทบที่มองเห็นได้ socat -d -d -d -v pty,link=/tmp/lp1 …

1
พร็อกซีแบบไดนามิกโดยใช้ HTTP CONNECT
มหาวิทยาลัยของฉันให้บริการอินเทอร์เน็ตผ่านพร็อกซี HTTP ซึ่งบล็อก POP, SMTP และ IMAP เพื่อหลีกเลี่ยงปัญหานี้ "คู่มือการตั้งค่าอินเทอร์เน็ต" ของแผนก IT แนะนำให้ใช้ socat: socat TCP-L:6660,fork,reuseaddr PROXY:proxy-address:pop.googlemail.com:995 ใช้งานได้ดี แต่ฉันต้องมีหนึ่งคำสั่งต่อเซิร์ฟเวอร์ที่ฉันต้องการเชื่อมต่อ มันฟังดูไม่เหมาะ มีวิธีสร้างพร็อกซีในเครื่องที่ตรวจสอบทราฟฟิกและเปิดการเชื่อมต่อ TCP โดยใช้ CONNECT ทุกครั้งที่เห็นการเชื่อมต่อที่พร็อกซีไม่ยอมให้ผ่าน? เพื่อให้แนวคิดแก่คุณ Tor ได้รับอนุญาตและทำงานได้ดีบนเครือข่ายมหาวิทยาลัย ฉันต้องการหาตัวแทนที่ให้ประสบการณ์แบบเดียวกันโดยไม่ต้อง Tor เป็นไปได้ทั้งหมดหรือไม่ ฉันไม่มีเครือข่ายคุรุดังนั้นโปรดอดทนกับฉันหากความคิดนั้นมีข้อบกพร่อง ขอบคุณ!

1
บันทึกสตรีมมัลติคาสต์บนโฮสต์ Linux ที่มีหลายโฮม
ฉันมีสิ่งที่ดูเหมือนกรณีการใช้งานที่ง่ายที่สุด แต่ก็ไม่มีอะไรที่น่าพอใจ ฉันมีโฮสต์หลาย homed และฉันต้องการฟัง multicasts บน eth1 และผลักส่วนของข้อมูลทั้งหมด (ไม่รวมส่วนหัวของแพ็กเก็ต UDP เพียงส่วนของข้อมูล) ลงในไฟล์ นี่คือบางสิ่งที่ฉันได้ลองไปแล้ว socat ดูเหมือนว่ามันจะเป็นเครื่องมือที่สมบูรณ์แบบ แต่ฉันไม่รู้ว่าจะใช้ไวยากรณ์อย่างไรและตัวอย่างทั้งหมดที่ฉันพบว่าเป็นกรณีการใช้งานที่ซับซ้อนมากขึ้น ฉันไม่สามารถสร้างหัวหรือก้อยของตัวอย่างที่ฉันเห็นได้ ถ้าใครรู้ฉันจะทำ socat ทำยังไงดี? รู้สึกอิสระที่จะเรียกฉันว่าคนงี่เง่าที่ไม่ได้คิดออก VLC วางแพ็กเก็ตเป็นครั้งคราวซึ่งไม่เป็นที่ยอมรับ ฉันต้องการให้มันทำงานเป็นเวลานานโดยไม่ต้องแพ็คเก็ตเดียว ฉันเห็นว่าการลดลงนี้เป็นครั้งคราวใน vlc หลายเวอร์ชันบนหลายแพลตฟอร์มและฉันก็ไม่เชื่อใจ Wireshark มันใช้งานได้และไม่เคยทิ้งแพ็กเก็ตอย่าง vlc (แม้ในขณะที่รันพร้อมกันในเวลาเดียวกัน) แต่ฉันไม่ต้องการแพ็กเก็ตดั๊กจริง ๆ แค่เพย์โหลด ฉันสามารถใช้ wireshark ในการเขียนข้อมูลทั้งหมดลงในไฟล์โดยใช้คุณสมบัติ "follow UDP stream" แต่ใช้เวลานานและป้องกันไม่ให้ฉันบันทึก payload แบบเรียลไทม์ รวมทั้งดูเหมือนว่าจะเป็นไปได้เฉพาะใน guir wireshark เวิร์กโฟลว์ของฉันจะง่ายขึ้นมากหากไม่มี GUI netcat …

1
การเชื่อมต่อซ็อกเก็ต TCP แบบเปิดใช้ข้อมูลเมื่อไม่ได้ใช้หรือไม่
ฉันมีการเชื่อมต่อซ็อกเก็ต TCP ที่จัดตั้งขึ้นระหว่างเซิร์ฟเวอร์ของฉันและโมเด็มซึ่งมีโมดูล GSM ที่ใช้งานและติดตั้งซิมการ์ด ฉันสร้างการเชื่อมต่อ 3G ของ wirless ผ่านทาง socat: /usr/bin/socat open:/dev/ttyVA8500,nonblock,echo=0,raw TCP-LISTEN:8500,reuseaddr,fork คำสั่งเล็กน้อยนี้ฟังการเชื่อมต่อ TCP บนพอร์ต 8500 และเขียนข้อมูลลงในพอร์ตอนุกรมเสมือน /dev/ttyVA8500. ตอนนี้เมื่อฉันเขียนไปยังพอร์ตอนุกรมเสมือนบนเซิร์ฟเวอร์ของฉันข้อมูลจะถูกส่งไปยังโมเด็มซึ่งจะส่งการตอบสนอง การสื่อสารนี้มีค่าใช้จ่ายในการรับส่งข้อมูล ฉันเห็นการรับส่งข้อมูลนี้ในเครื่องมือตรวจสอบของผู้ให้บริการ GSM ปัญหา ฉันสามารถเห็นปริมาณการใช้ข้อมูลในการตรวจสอบระบบ GSM แม้ในขณะที่ฉันไม่ได้พูดคุยกับโมเด็ม มันน้อยกว่ามากประมาณ 2 kiB ต่อชั่วโมง แต่ฉันมีขีด จำกัด 1 MB ต่อเดือน ดังนั้นคำถามของฉันคือการใช้ข้อมูล 3G "ผี" นี้มาจากไหน? การเชื่อมต่อซ็อกเก็ต TCP เองมีค่าใช้จ่ายในการรับส่งข้อมูลหรือไม่ ขณะที่ฉันไม่ได้คุยกับการเชื่อมต่อ TCP ฉันใช้ tcp sniffer เพื่อตรวจสอบปริมาณการใช้งานผี: …

2
วิธีการพิมพ์แบบ sed ถึงจุดสิ้นสุดของบรรทัดจาก socat
ฉันมีเซิร์ฟเวอร์ที่ส่งข้อมูลในการออกอากาศ UDP บนพอร์ต 1,0552 ข้อมูลคือ 7 ตัวเลขคั่นด้วยเครื่องหมายจุลภาคดังนั้น 5.351204,0.001968,-0.000473,-0.999222,0.000451,0.001455,1.084310 ฉันดึงข้อมูลนี้ด้วย socat -u udp-recv:10552,reuseaddr - ฉันต้องการเปลี่ยนรูปแบบของข้อมูลนี้ดังนั้นฉันจะทำให้เป็นข้อมูล ฉันไม่สนใจหมายเลขแรกดังนั้นฉันจึงลบออกด้วย s/[^,]*,//; ฉันเพิ่มช่องว่างหลังเครื่องหมายจุลภาคด้วย s/,/, /g ฉันจะเพิ่มวงเล็บเปิดไว้ที่จุดเริ่มต้นของแต่ละบรรทัดด้วย s/^/(/ ในที่สุดฉันพยายามที่จะเพิ่มวงเล็บปิดลงที่ท้ายบรรทัดแต่ละบรรทัดด้วย s/$/)/ คำสั่งสุดท้ายกลายเป็น socat -u udp-recv:10552,reuseaddr - | sed 's/[^,]*,//;s/,/, /g;s/^/(/;s/$/)/' ทุกอย่างทำงานได้ตามที่คาดไว้ยกเว้นวงเล็บปิดสุดท้ายจะปรากฏขึ้นที่จุดเริ่มต้นของแต่ละบรรทัดดังนั้นจึงดูเหมือน )0.051727, -0.595779, -0.794678, 0.082047, 0.644327, -0.027242 การลบบิตสุดท้ายของคำสั่งสำหรับ socat -u udp-recv:10552,reuseaddr - | sed 's/[^,]*,//;s/,/, /g;s/^/(/;' ผลลัพธ์ใน (0.079330, …
1 macos  bash  sed  socat 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.