Надсилання даних між мережевими комп’ютерами за допомогою Netcat за допомогою командного рядка
Netcat — це потужний інструмент командного рядка, який може читати та записувати дані через мережеве з’єднання за допомогою TCP/IP, він зазвичай використовується для ретрансляції, передачі файлів, сканування портів тощо. Хоча netcat походить зі світів unix і linux, netcat також вбудовано в Mac OS X, і ми збираємося використовувати утиліту nc як простий спосіб надсилати дані та інший текст між двома мережевими комп’ютерами.Використовуючи netcat для надсилання даних із досить простим зв’язком між клієнтом і сервером, він пропонує потенційно швидшу альтернативу традиційному обміну файлами, коли користувачі віддають перевагу залишатися в командному рядку під час надсилання та отримання даних, і де підключення через SSH або SFTP неможливе. t практично.
Зауважте, що netcat не потребує входу чи автентифікації, єдиною вимогою є те, щоб клієнт знав IP-адресу сервера та номер порту прослуховування. Це, очевидно, створює певний потенціал для зловживання безпекою, тому використання netcat для надсилання даних і тексту, як правило, найкраще зарезервовано для досвідчених користувачів або для використання виключно за захищеною локальною мережею, де існує невеликий ризик. У ситуаціях, коли важливо підкреслити безпеку, краще використовувати SSH.
Для зручності ми називатимемо комп’ютер 1, який слухає netcat, «Сервером», а комп’ютер 2, який надсилає дані комп’ютеру 1, — «клієнтом».
Налаштувати Netcat для прослуховування на сервері (комп’ютер 1) і порт
Ми запустимо netcat і змусимо його слухати порт 2999, а потім перенаправимо будь-які отримані дані до файлу з іменем «received.txt» за допомогою такого командного рядка:
nc -l 2999 > receive.txt
Перш ніж викликати перехід до клієнта, ви захочете мати IP-адресу Mac у локальній мережі. Ви можете отримати це з панелі керування мережею або, оскільки ви вже перебуваєте в терміналі, через командний рядок із таким синтаксисом:
ipconfig getifaddr en0
Сучасні комп’ютери Mac лише з Wi-Fi використовуватимуть en0, комп’ютери Mac із Ethernet і Wi-Fi можуть використовувати en1. Якщо один з них нічого не показує, спробуйте інший інтерфейс, щоб отримати 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 і ПК. Обидва дозволяють користувачу обмінюватися даними буфера обміну, а також пристроями введення, такими як миша та клавіатура.
Для запису: незважаючи на те, що ця демонстрація показана на двох комп’ютерах Mac з OS X, немає причин, щоб ви не могли використовувати netcat для передачі даних між комп’ютерами Mac і Linux або навпаки.
Існує маса інших чудових способів використання netcat, якщо у вас є улюблені, повідомте нам у коментарях!