Magpadala ng Data sa Mga Naka-network na Computer gamit ang Netcat Gamit ang Command Line

Anonim

Ang Netcat ay isang mahusay na command line tool na maaaring magbasa at magsulat ng data sa isang koneksyon sa network gamit ang TCP/IP, ito ay karaniwang ginagamit para sa mga relay, paglilipat ng file, pag-scan ng port, bukod sa iba pang mga bagay. Bagama't ang mga pinagmulan ng netcat ay mula sa unix at linux na mundo, ang netcat ay binuo din sa Mac OS X, at gagamitin namin ang nc utility bilang isang madaling paraan upang magpadala ng data at iba pang teksto sa dalawang naka-network na computer.Sa pamamagitan ng paggamit ng netcat upang magpadala ng data na may medyo simpleng relasyon ng kliyente at server, nag-aalok ito ng potensyal na mas mabilis na alternatibo sa tradisyonal na pagbabahagi ng file kapag mas gusto ng mga user na manatili sa command line habang nagpapadala at tumatanggap ng data, at kung saan ang pagkonekta sa pamamagitan ng SSH o SFTP ay ' t praktikal.

Tandaan na ang netcat ay hindi nangangailangan ng mga pag-login o pagpapatotoo, ang tanging kinakailangan ay alam ng kliyente ang IP address ng mga server at ang listening port number. Iyon ay malinaw na nagpapataas ng ilang potensyal para sa maling paggamit ng seguridad, kaya ang paggamit ng netcat upang magpadala ng data at teksto ay karaniwang pinakamahusay na nakalaan para sa mga advanced na user, o para sa eksklusibong paggamit sa likod ng isang protektadong lokal na network kung saan may maliit na panganib. Ang mga sitwasyon kung saan mahalagang bigyang-diin ang seguridad ay mas mabuting gamitin ang SSH.

Para madali, tutukuyin namin ang computer 1 na nakikinig sa netcat bilang “Server”, at tutukuyin namin ang computer 2 na nagpapadala ng data sa computer 1 bilang “client”.

Itakda ang Netcat na Makinig sa Server (Computer 1) at Port

Ilulunsad namin ang netcat at ipapakinggan ito sa port 2999, at pagkatapos ay i-redirect ang alinman sa data na natanggap sa isang file na pinangalanang “received.txt” na may sumusunod na command string:

nc -l 2999 > received.txt

Bago ito tawagan ng paglipat sa kliyente, gugustuhin mong magkaroon ng IP address ng Mac sa lokal na network. Makukuha mo iyon mula sa Network control panel, o dahil nasa Terminal ka na, sa pamamagitan ng command line na may sumusunod na syntax:

ipconfig getifaddr en0

Modern Mac na may Wi-Fi lang ang gagamit ng en0, ang mga Mac na may ethernet at wifi ay maaaring gumamit ng en1. Kung wala ang isa, subukan ang kabilang interface para makuha ang LAN IP. Ipagpalagay natin na ang Macs IP na ito ay iniulat bilang "192.168.1.101", siyempre ang sa iyo ay malamang na mag-iba. Kakailanganin mo ito sa computer ng kliyente upang magpadala ng data, na susunod naming tatalakayin.

Pipe Data mula sa Client (Computer 2) papunta sa Listening Server

Ngayon sa client kung saan mo gustong magpadala ng data, maaari kang gumamit ng command tulad ng sumusunod. Gagamitin namin ang pusa para mag-dump ng text file sa network sa nakikinig na netcat server, ngunit maaari kang mag-pipe sa halos kahit anong gusto mo:

cat sendthisdataover.txt | nc 192.168.1.101 2999

Para gumana ito ng maayos, siguraduhing punan ang sarili mong IP address mula sa server, at i-cat ang naaangkop na file o text na gusto mong ipadala.

Ipagpalagay na ang lokal na network ay medyo mabilis, ang data ay dapat dumating nang napakabilis kung hindi kaagad. Kapag kumpleto na ang paglilipat ng data, hihinto ang magkabilang panig ng koneksyon at hihinto ang server sa pakikinig, pagkatapos ay isara ang port. Ginagawa nitong epektibo para sa isang beses na pagpapadala ng data tulad ng mga file ng log o isang malaking dokumento ng teksto, ngunit hindi ito kinakailangang praktikal para sa paglipat sa maraming mga file.

Tulad ng nabanggit na, maaari kang mag-pipe sa halos anumang data, kaya kung ito ay ang output ng isa pang app, buntot, pusa, o kahit na direktang itinapon mula sa clipboard na may pbcopy at pbpaste, ito ay ililipat sa pamamagitan ng netcat.

Dapat tandaan na may mga mas maginhawang paraan ng pagbabahagi ng clipboard sa pagitan ng mga Mac o sa pagitan ng Mac at Linux o Windows machine, at sa mga sitwasyong iyon mas mahusay kang gumamit ng mga libreng tool tulad ng Teleport para sa Mac- pagbabahagi ng input sa-Mac, o ang libreng Synergy utility kung pupunta ka sa cross platform sa pagitan ng mga Mac at PC. Parehong nagbibigay-daan sa isang user na magbahagi ng data ng clipboard gayundin ng mga input device tulad ng mouse at keyboard.

Para sa rekord, habang ipinapakita ang demonstrasyon na ito sa dalawang Mac na may OS X, walang dahilan kung bakit hindi mo magagamit ang netcat upang magpadala ng data sa pagitan ng Mac at Linux machine, o kabaliktaran.

Mayroong maraming iba pang magagandang gamit para sa netcat, kung mayroon kang anumang mga paborito, ipaalam sa amin sa mga komento!

Magpadala ng Data sa Mga Naka-network na Computer gamit ang Netcat Gamit ang Command Line