6.5 הכלי socat הרצאה
מה זה Socat?¶
הכלי Socat (SOcket CAT) הוא כלי מתקדם להעברת מידע דרך חיבורי רשת, חיבורי סוקטים, קבצים, התקני מערכת ועוד. הוא מאפשר להעביר מידע בין שני endpoints (נקודות קצה) בצורה גמישה. זהו כלי רב-תכליתי שיכול לשמש כתחליף מתקדם יותר ל-netcat (nc), תוך תמיכה בפרוטוקולים מגוונים, הצפנה, יצירת פרוקסי ועוד.
התקנת Socat¶
ברוב הפצות ה-Linux socat זמין במאגרים וניתן להתקינו בקלות:
- Ubuntu/Debian:
- CentOS/RHEL:
- Arch Linux:
לאחר ההתקנה, ניתן לבדוק שהכלי עובד:
שימושים נפוצים ב-socat¶
הכלי Socat תומך במגוון רחב של חיבורים, כולל:
- TCP/UDP (חיבורי רשת)
- טינולים
- העברת קבצים
- OpenSSL (TLS/SSL)
- Shell execution
להלן שימושים נפוצים ודוגמאות:
1. יצירת חיבור TCP בסיסי (Client-Server)¶
שרת TCP מאזין¶
TCP-LISTEN:8080– מאזין לחיבורים נכנסים על פורט 8080.fork– מאפשר חיבורים מרובים על-ידי יצירת תהליך חדש לכל חיבור.-– פלט למסך.
לקוח שמתחבר לשרת ושולח הודעה¶
- שולח את הטקסט
"Hello, Server!"לשרת.
2. העברת קובץ ממחשב אחד לשני¶
שרת (מאזין ומקבל את הקובץ)¶
- מאזין על פורט 9000 ומקבל נתונים, אותם הוא שומר בקובץ
received_file.txt.
לקוח (שולח קובץ לשרת)¶
- שולח את תוכן
myfile.txtלמחשב בכתובת192.168.1.100על פורט 9000.
3. יצירת טינול להעברת חיבורים¶
טינול שמעביר חיבורים לשרת אחר¶
- כל חיבור ל-
localhost:8080יועבר ל-example.com:80.
4. יצירת חיבור UDP¶
שרת UDP מאזין¶
- מאזין לחיבורים ב-UDP על פורט 5000.
לקוח שולח הודעה לשרת¶
- שולח את המידע דרך UDP לשרת.
5. יצירת חיבור עם הצפנת OpenSSL¶
שרת (מאזין עם SSL)¶
- מאזין עם SSL/TLS על פורט 4433.
- משתמש בתעודת SSL (
server-cert.pem).
לקוח שמתחבר לשרת עם SSL¶
- מתחבר לשרת בצורה מאובטחת.
6. יצירת שרת Telnet פשוט¶
- מאזין לחיבורי Telnet ומספק גישה ל-shell.
7. יצירת TUN/TAP Interface ל-VPN¶
- יצירת ממשק רשת וירטואלי (TUN/TAP).
8. שמירת נתונים שמתקבלים מקליינט בקובץ¶
- שומר את כל הנתונים המתקבלים בפורט 7000 בקובץ
output.txt.
9. שליחת הודעה לשרת Web¶
- שולח בקשת HTTP GET ל-
example.com.