8 Netcat (nc) ຄໍາສັ່ງທີ່ມີຕົວຢ່າງ
Netcat (ຫຼື nc ໃນສັ້ນ) ແມ່ນເຄື່ອງມື ສຳ ລັບລະບົບເຄືອຂ່າຍທີ່ງ່າຍດາຍແຕ່ມີປະສິດທິພາບທີ່ໃຊ້ໃນການເຮັດວຽກໃດໆໃນ Linux ທີ່ກ່ຽວຂ້ອງກັບ TCP, UDP, ຫຼືເຕົ້າຮັບໂດເມນຂອງ UNIX.
Netcat ສາມາດໃຊ້ ສຳ ລັບການສະແກນ port, ການປ່ຽນເສັ້ນທາງ port, ເປັນຜູ້ຟັງທີ່ Port (ສຳ ລັບການເຊື່ອມຕໍ່ຂາເຂົ້າ); ມັນຍັງສາມາດຖືກນໍາໃຊ້ເພື່ອເປີດການເຊື່ອມຕໍ່ຫ່າງໄກສອກຫຼີກແລະສິ່ງອື່ນໆຈໍານວນຫຼາຍ. ນອກຈາກນີ້, ທ່ານສາມາດໃຊ້ມັນເປັນບ່ອນນັ່ງທາງຫລັງເພື່ອໃຫ້ສາມາດເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍເປົ້າ ໝາຍ.
ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍ ຄຳ ສັ່ງການ ນຳ ໃຊ້ Netcat ດ້ວຍຕົວຢ່າງ.
ວິທີການຕິດຕັ້ງແລະໃຊ້ Netcat ໃນ Linux
ການຕິດຕັ້ງແພັກເກດສຸດທິໃນລະບົບຂອງທ່ານ, ໃຊ້ຕົວຈັດການຊຸດເລີ່ມຕົ້ນ ສຳ ລັບການແຈກຈ່າຍ Linux ຂອງທ່ານ.
$ yum install nc [On CentOS/RHEL] $ dnf install nc [On Fedora 22+ and RHEL 8] $ sudo apt-get install Netcat [On Debian/Ubuntu]
ເມື່ອຊຸດ netcat ຕິດຕັ້ງແລ້ວ, ທ່ານສາມາດສືບຕໍ່ຮຽນຮູ້ການ ນຳ ໃຊ້ ຄຳ ສັ່ງຂອງ netcat ໃນຕົວຢ່າງຕໍ່ໄປນີ້.
Netcat ສາມາດໃຊ້ ສຳ ລັບການສະແກນພອດ: ເພື່ອຮູ້ວ່າທ່າເຮືອໃດທີ່ເປີດແລະບໍລິການຢູ່ໃນເຄື່ອງເປົ້າ ໝາຍ. ມັນສາມາດສະແກນແບບ ports ແບບດຽວຫລືຫຼາຍຫລືຊ່ວງຂອງພອດເປີດ.
ນີ້ແມ່ນຕົວຢ່າງ, ຕົວເລືອກ -z
ຊຸດ nc ເພື່ອສະແກນຫາຟັງສຽງໂດຍບໍ່ຕ້ອງສົ່ງຂໍ້ມູນໃດໆໃຫ້ພວກເຂົາ. ຕົວເລືອກ -v
ຊ່ວຍໃຫ້ໂຫມດ verbose ແລະ -w
ລະບຸເວລາ ໝົດ ເວລາ ສຳ ລັບການເຊື່ອມຕໍ່ທີ່ບໍ່ສາມາດສ້າງຕັ້ງໄດ້.
$ nc -v -w 2 z 192.168.56.1 22 #scan a single port OR $ nc -v -w 2 z 192.168.56.1 22 80 #scan multiple ports OR $ nc -v -w 2 z 192.168.56.1 20-25 #scan range of ports
Netcat ຊ່ວຍໃຫ້ທ່ານສາມາດໂອນໄຟລ໌ລະຫວ່າງສອງຄອມພິວເຕີ້ Linux ຫຼື server ແລະທັງສອງລະບົບເຫຼົ່ານີ້ຕ້ອງໄດ້ຕິດຕັ້ງ nc.
ຍົກຕົວຢ່າງ, ເພື່ອ ສຳ ເນົາເອກະສານຮູບພາບ ISO ຈາກຄອມພິວເຕີ້ໄປຫາຄອມພິວເຕີ້ອື່ນແລະຕິດຕາມຄວາມຄືບ ໜ້າ ໃນການໂອນຍ້າຍ (ໃຊ້ pv utility), ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ໃນຄອມພິວເຕີ້ຜູ້ສົ່ງ/ເຊີຟເວີ (ບ່ອນທີ່ມີເອກະສານ ISO ຢູ່).
ສິ່ງນີ້ຈະໃຊ້ແບບຟັງໃນຟັງ ( -l
ທຸງ) ຢູ່ທີ່ພອດ 3000.
$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5
ແລະຢູ່ໃນເຄື່ອງຮັບ/ຄອມພິວເຕີ້ຂອງລູກຄ້າ, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອຈະໄດ້ເອກະສານ.
$ nc 192.168.1.4 3000 | pv | tar -zxf -
ທ່ານຍັງສາມາດໃຊ້ Netcat ເພື່ອສ້າງເຄື່ອງແມ່ຂ່າຍການສົ່ງຂໍ້ຄວາມແບບງ່າຍໆແບບທັນທີ. ເຊັ່ນດຽວກັບຕົວຢ່າງການ ນຳ ໃຊ້ທີ່ຜ່ານມາ, nc ຕ້ອງໄດ້ຕິດຕັ້ງຢູ່ທັງສອງລະບົບທີ່ໃຊ້ ສຳ ລັບຫ້ອງສົນທະນາ.
ໃນລະບົບ ໜຶ່ງ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອສ້າງ server ສົນທະນາທີ່ຟັງຢູ່ພອດ 5000.
$ nc -l -vv -p 5000
ໃນລະບົບອື່ນ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອເປີດການສົນທະນາກັບເຄື່ອງທີ່ເຄື່ອງແມ່ຂ່າຍຂໍ້ຄວາມ ກຳ ລັງແລ່ນຢູ່.
$ nc 192.168.56.1 5000
ເລືອກຕົວເລືອກ -l
ຂອງ ຄຳ ສັ່ງ nc ທີ່ໃຊ້ໃນການສ້າງເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ທີ່ບໍ່ປອດໄພຂັ້ນພື້ນຖານເພື່ອຮັບໃຊ້ເອກະສານເວບແບບຄົງທີ່ເພື່ອຈຸດປະສົງການຮຽນຮູ້. ເພື່ອສະແດງສິ່ງນີ້, ສ້າງເອກະສານ .html
ຕາມທີ່ສະແດງ.
$ vim index.html
ຕື່ມສາຍ HTML ຕໍ່ໄປນີ້ໃນແຟ້ມ.
<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body> </html>
ບັນທຶກການປ່ຽນແປງຂອງເອກະສານແລະອອກ.
ຫຼັງຈາກນັ້ນໃຫ້ບໍລິການເອກະສານຂ້າງເທິງຜ່ານ HTTP ໂດຍການເຮັດວຽກຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເຊິ່ງຈະຊ່ວຍໃຫ້ server HTTP ສາມາດເຮັດວຽກໄດ້ຢ່າງຕໍ່ເນື່ອງ.
$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
ຈາກນັ້ນເປີດເວັບບຣາວເຊີແລະສາມາດເຂົ້າເຖິງເນື້ອຫາໂດຍໃຊ້ທີ່ຢູ່ດັ່ງຕໍ່ໄປນີ້.
http://localhost:8080 OR http://SERVER_IP:8080
ໃຫ້ສັງເກດວ່າທ່ານສາມາດຢຸດເຊົາເຄື່ອງແມ່ຂ່າຍຂອງ Netcat HTTP ໂດຍການກົດ [Ctrl + C]
.
ການ ນຳ ໃຊ້ທີ່ເປັນປະໂຫຍດອີກອັນ ໜຶ່ງ ຂອງ Netcat ແມ່ນການແກ້ໄຂບັນຫາການເຊື່ອມຕໍ່ເຊີຟເວີ. ນີ້, ທ່ານສາມາດໃຊ້ Netcat ເພື່ອກວດສອບຂໍ້ມູນໃດທີ່ເຊີບເວີ ກຳ ລັງສົ່ງເພື່ອຕອບສະ ໜອງ ຄຳ ສັ່ງທີ່ອອກໂດຍລູກຄ້າ.
ຄຳ ສັ່ງຕໍ່ໄປນີ້ດຶງເອົາ ໜ້າ ທຳ ອິດຂອງ example.com.
$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80
ຜົນໄດ້ຮັບຂອງ ຄຳ ສັ່ງຂ້າງເທິງນີ້ລວມມີຫົວຂໍ້ທີ່ສົ່ງໂດຍ web-server ເຊິ່ງສາມາດໃຊ້ເພື່ອຈຸດປະສົງການແກ້ໄຂບັນຫາ.
ທ່ານຍັງສາມາດໃຊ້ Netcat ເພື່ອໄດ້ຮັບປ້າຍໂຄສະນາ port. ໃນກໍລະນີນີ້, ມັນຈະບອກທ່ານວ່າບໍລິການໃດທີ່ ກຳ ລັງແລ່ນຢູ່ຫລັງທ່າເຮືອທີ່ແນ່ນອນ. ຕົວຢ່າງເພື່ອຈະຮູ້ວ່າການບໍລິການປະເພດໃດທີ່ເຮັດວຽກຢູ່ຫລັງພອດ 22 ໃນເຄື່ອງແມ່ຂ່າຍສະເພາະ, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ (ທົດແທນ 192.168.56.110 ດ້ວຍທີ່ຢູ່ IP ຂອງເຊີຟເວີເປົ້າ ໝາຍ). ທຸງ -n
ໝາຍ ຄວາມວ່າຈະປິດການຊອກຫາ DNS ຫຼືການຊອກຫາການບໍລິການ.
$ nc -v -n 192.168.56.110 80
Netcat ຍັງສະຫນັບສະຫນູນການສ້າງເຕົ້າຮັບສາຍນ້ໍາໂດເມນ UNIX. ຄຳ ສັ່ງຕໍ່ໄປນີ້ຈະສ້າງແລະຟັງຢູ່ໃນເຕົ້າຮັບສາຍນ້ ຳ ຂອງ UNIX.
$ nc -lU /var/tmp/mysocket & $ ss -lpn | grep "/var/tmp/"
ນອກນັ້ນທ່ານຍັງສາມາດແລ່ນ Netcat ເປັນ Backdoor ໄດ້. ເຖິງຢ່າງໃດກໍ່ຕາມ, ສິ່ງນີ້ຮຽກຮ້ອງໃຫ້ມີວຽກງານເພີ່ມເຕີມ. ຖ້າ Netcat ຖືກຕິດຕັ້ງຢູ່ໃນເຊີຟເວີເປົ້າ ໝາຍ, ທ່ານສາມາດໃຊ້ມັນເພື່ອສ້າງ Backdoor, ເພື່ອໃຫ້ໄດ້ຮັບ ຄຳ ສັ່ງຈາກໄລຍະໄກ.
ເພື່ອປະຕິບັດກັບທາງຫລັງ, ທ່ານຕ້ອງການ Netcat ເພື່ອຟັງທີ່ Port ທີ່ເລືອກ (ຕົວຢ່າງ: ພອດ 3001) ໃນເຊີຟເວີເປົ້າ ໝາຍ ແລະຫຼັງຈາກນັ້ນທ່ານສາມາດເຊື່ອມຕໍ່ພອດນີ້ຈາກເຄື່ອງຂອງທ່ານດັ່ງຕໍ່ໄປນີ້.
ນີ້ແມ່ນ ຄຳ ສັ່ງທີ່ມີຈຸດປະສົງໃຫ້ໃຊ້ໃນ server ຫ່າງໄກສອກຫຼີກເຊິ່ງຕົວເລືອກ -d
ບໍ່ສາມາດອ່ານຈາກ stdin, ແລະ -e
ລະບຸ ຄຳ ສັ່ງທີ່ຈະໃຊ້ໃນລະບົບເປົ້າ ໝາຍ.
$ nc -L -p 3001 -d -e cmd.exe
ສຸດທ້າຍ, Netcat ສາມາດໃຊ້ເປັນໂປແກຼມຕົວແທນ ສຳ ລັບການບໍລິການ/ໂປໂຕຄອນທີ່ແຕກຕ່າງກັນລວມທັງ HTTP, SSH, ແລະອີກຫຼາຍໆຢ່າງ. ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງ ໜ້າ ຜູ້ຊາຍຂອງມັນ.
$ man nc
ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍ 8 ຕົວຢ່າງການ ນຳ ໃຊ້ ຄຳ ສັ່ງຂອງ Netcat. ຖ້າທ່ານຮູ້ກໍລະນີການ ນຳ ໃຊ້ພາກປະຕິບັດອື່ນ, ແບ່ງປັນກັບພວກເຮົາຜ່ານແບບຟອມ ຄຳ ຕິຊົມຂ້າງລຸ່ມນີ້. ທ່ານສາມາດຖາມ ຄຳ ຖາມເຊັ່ນກັນ.