Изпращайте данни през мрежови компютри с Netcat с помощта на командния ред
Netcat е мощен инструмент за команден ред, който може да чете и записва данни през мрежова връзка чрез TCP/IP, обикновено се използва за релета, прехвърляне на файлове, сканиране на портове, наред с други неща. Въпреки че произходът на netcat е от световете на unix и linux, netcat също е вграден в Mac OS X и ние ще използваме помощната програма nc като лесен начин за изпращане на данни и друг текст през два свързани в мрежа компютъра.Използвайки netcat за изпращане на данни с доста проста връзка между клиент и сървър, той предлага потенциално по-бърза алтернатива на традиционното споделяне на файлове, когато потребителите биха предпочели да останат в командния ред, докато изпращат и получават данни, и където свързването чрез SSH или SFTP не е т практично.
Имайте предвид, че netcat не изисква влизане или удостоверяване, единственото изискване е клиентът да знае IP адреса на сървъра и номера на слушащия порт. Това очевидно повишава известен потенциал за злоупотреба със сигурността, като по този начин използването на netcat за изпращане на данни и текст обикновено е най-добре запазено за напреднали потребители или за използване изключително зад защитена локална мрежа, където има малък риск. Ситуации, при които е важно да се подчертае сигурността, би било по-добре да използвате SSH.
За улеснение ще наричаме компютър 1, който слуша с netcat, „Сървър“, а компютър 2, изпращащ данните към компютър 1, ще наричаме „клиент“.
Настройте Netcat да слуша на сървър (компютър 1) и порт
Ще стартираме netcat и ще го накараме да слуша на порт 2999, след което ще пренасочи всички получени данни към файл с име „received.txt“ със следния команден низ:
nc -l 2999 > получен.txt
Преди да се обадите за преместване към клиента, трябва да имате IP адреса на Macs в локалната мрежа. Можете да го получите от мрежовия контролен панел или тъй като вече сте в терминала, чрез командния ред със следния синтаксис:
ipconfig getifaddr en0
Модерните Mac компютри само с Wi-Fi ще използват en0, компютрите Mac с Ethernet и wifi може да използват en1. Ако някой не покаже нищо, опитайте другия интерфейс, за да получите LAN IP. Да приемем, че този IP на Mac е отчетен като „192.168.1.101“, разбира се, вашият вероятно ще варира. Ще имате нужда от това на клиентския компютър, за да изпратите данни, което ще разгледаме по-нататък.
Предаване на данни от клиент (Компютър 2) към сървъра за слушане
Сега на клиента, от който искате да изпратите данни, можете да използвате команда като следната. Ще използваме cat, за да изхвърлим текстов файл през мрежата към слушащия netcat сървър, но можете да прехвърлите почти всичко, което искате:
cat sendthisdataover.txt | nc 192.168.1.101 2999
За да работи правилно, не забравяйте да попълните собствения си IP адрес от сървъра и да посочите подходящия файл или текст, който искате да изпратите.
Ако приемем, че локалната мрежа е дори малко бърза, данните трябва да пристигнат доста бързо, ако не и моментално. След като прехвърлянето на данни приключи, двете страни на връзката ще прекратят и сървърът ще спре да слуша, след което ще затвори порта. Това го прави ефективен за еднократно изпращане на данни като регистрационни файлове или голям текстов документ, но не е непременно практично за преместване на много файлове.
Както вече споменахме, можете да прехвърлите почти всякакви данни, така че независимо дали са изходни данни от друго приложение, опашка, котка или дори изхвърлени директно от клипборда с pbcopy и pbpaste, те ще се прехвърлят през netcat.
Трябва да се отбележи, че има по-удобни начини за споделяне на клипборд между Mac или между Mac и Linux или Windows машини и в тези ситуации е по-добре да използвате безплатни инструменти като Teleport for Mac- споделяне на вход към Mac или безплатната помощна програма Synergy, ако ще преминете през платформа между Mac и PC. И двете позволяват на потребителя да споделя данни от клипборда, както и устройства за въвеждане като мишка и клавиатура.
За протокола, докато тази демонстрация се показва на два Mac с OS X, няма причина да не можете да използвате netcat за изпращане на данни между Mac и Linux машина или обратно.
Има много други страхотни приложения за netcat, ако имате любими, уведомете ни в коментарите!