Tag: nc

Transfer file ด้วยคำสั่ง nc

เมื่อกี้ remote ไป dr-site ของลูกค้า เพื่อที่จะ transfer ไฟล์ iso ไปไว้ที่ main site อีกที โดย iso อยู่ที่เครื่องฝั่ง dr เครื่อง server เป็น linux ทั้งคู่ลอง winscp ไฟล์จากเครื่อง vCenter ไฟล์ iso ขนาดประมาณ 4 GB ที่ต้องการไปยัง main site ใช้เวลาเกือบ 10 ชม. เน็ตจะกากอะไรขนาดนั้น เลยเปลี่ยนวิธีจาก ssh มาเป็นอะไรก็ได้ที่ให้ความเร็วมากกว่า ก็มาเจอคำสั่ง nc หรือ netcat ซึ่งจริงๆ แล้วมันมีประโยชน์มากเลยทำอะไรๆ ได้หลายอย่างทั้งเช็ค port เครื่องปลายทางได้เหมือน telnet และความสามารถอีกล้นหลาม แต่หนึ่งในหลายๆ ความเก่งของมันก็คือสามารถที่จะ stream ข้อมูลหรือ transfer ข้อมูลได้รวดเร็วเพราะไม่มีการเข้ารหัส(แลกกับความเร็ว) เครื่องที่ยังไม่มี nc สามารถติดตั้งได้โดยใช้คำสั่ง yum install nc สำหรับค่าย Redhat และ apt-get install nc สำหรับ Debian และ Ubuntu

ขั้นตอนสำหรับการ Transfer ข้อมูลมีประมาณนี้ครับ

1. nc มันเป็นโปรแกรม Client – Server หมายความว่าต้องมี nc ฝั่งใดฝั่งหนึ่งทำหน้าที่เป็น Server และอีกฝั่งเป็น Client ขั้นตอนของผมคือทำเครื่องฝั่ง main site เป็น Server โดยใช้คำสั่ง

root@MAIN-Serv01:~# nc -l 2389 > myfile.iso

คำสั่ง nc -l 2389 > myfile.iso หมายความว่าให้ nc เปิด socket หรือ port 2389 เพื่อรับข้อมูล ซึ่งจริงๆ แล้วหมายเลข port จะเป็นอะไรก็ได้ที่ไม่ซ้ำกับ service อื่นๆ ที่เราให้บริการ และเมื่อมีข้อมูลวิ่งเข้ามาที่ port 2389 ให้มัน redirect standard input เข้าไปยังไฟล์ myfile.iso

2. เมื่อฝั่ง Serve เราเปิด port รอไว้แล้วก็เหลือแค่ Client ส่งข้อมูลไปหาเครื่องปลายทาง

root@DR-Serv01:~# cat myfile.iso | nc 10.40.1.152 2389

ส่วนใหญ่เราใช้คำสั่ง cat เพื่อดูข้อมูลที่อยู่ภายในไฟล์ แต่เมื่อเราใส่ pipe output ไปยัง nc ให้ส่งข้อมุลไปยังไอพีปลายทางก็สามารถประยุกต์ใช้กับการส่งไฟล์ได้
ที่เหลือก็คือรอให้ส่งข้อมูลเสร็จครับ
3. เมื่อเสร็จแล้วระบบจะคืน prompt มาให้ก็ลองตรวจสอบไฟล์ได้เลยครับ ส่วนผมก็ลอง mount ไฟล์ iso ที่ trasnfer มาก็พบว่าใช้งานได้ปกติเลยครับ

ลองเอาไปประยุกต์ใช้กันดูนะครับ

Share/Save

Leave a Comment January 9, 2013


Recent Entries

Random Posts

Social Network

Tag Cloud

Calendar

May 2017
S M T W T F S
« Jun    
 123456
78910111213
14151617181920
21222324252627
28293031  

Twitter: imrgill

RSS LinuxToday

RSS HowToForge

RSS UbuntuClub

RSS Blognone

RSS PowerWindowsBlog

Tag

Categories

Archives

Blogroll