15 ຕົວຢ່າງ ຄຳ ສັ່ງ Sockstat ທີ່ມີປະໂຫຍດຕົວຢ່າງເພື່ອຊອກຫາ Ports ທີ່ເປີດຢູ່ໃນ FreeBSD
Sockstat ແມ່ນອຸປະກອນບັນທັດທີ່ສາມາດປັບປ່ຽນໄດ້ເຊິ່ງໃຊ້ ສຳ ລັບການສະແດງເຄືອຂ່າຍແລະລະບົບທີ່ເປີດເຕົ້າຮັບໃນ FreeBSD. ຕົ້ນຕໍ, ຄຳ ສັ່ງ sockstat ແມ່ນຖືກຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນໃນ FreeBSD ແລະມັນຖືກ ນຳ ໃຊ້ທົ່ວໄປໃນການສະແດງຊື່ຂອງຂະບວນການທີ່ໄດ້ເປີດພອດເຄືອຂ່າຍແນ່ນອນໃນລະບົບ FreeBSD.
ເຖິງຢ່າງໃດກໍ່ຕາມ, sockstat ຍັງສາມາດລາຍຊື່ເຕົ້າທີ່ເປີດໂດຍອີງໃສ່ສະບັບໂປໂຕຄອນ (ທັງສອງລຸ້ນ IP), ກ່ຽວກັບສະຖານະຂອງການເຊື່ອມຕໍ່ແລະສິ່ງທີ່ພອດ daemon ຫຼືໂປແກຼມໃດ ໜຶ່ງ ເຊື່ອມໂຍງແລະຟັງ.
ມັນຍັງສາມາດສະແດງເຕົ້າຮັບການສື່ສານຂັ້ນຕອນ, ໂດຍປົກກະຕິທີ່ຮູ້ກັນວ່າເຕົ້າຮັບໂດເມນ Unix ຫຼື IPC. ຄໍາສັ່ງ Sockstat ປະສົມປະສານກັບຜົນປະໂຫຍດທີ່ງຸ່ມງ່າມສະແດງໃຫ້ເຫັນວ່າເປັນເຄື່ອງມືທີ່ມີປະສິດທິພາບສໍາລັບເຄືອຂ່າຍທ້ອງຖິ່ນ.
ມັນສາມາດຫລຸດຜ່ອນຜົນ ສຳ ລັບການເຊື່ອມຕໍ່ທີ່ເປີດໂດຍອີງໃສ່ຜູ້ໃຊ້ທີ່ເປັນເຈົ້າຂອງຊັອກເກັດ, ເຄື່ອງບັນຍາຍເອກະສານຂອງເຕົ້າສຽບໃນເຄືອຂ່າຍຫລື PID ຂອງຂະບວນການທີ່ເປີດເຕົ້າຮັບ.
ໃນຄູ່ມືນີ້ພວກເຮົາຈະໄດ້ບອກບາງຕົວຢ່າງການ ນຳ ໃຊ້ທົ່ວໄປ, ແຕ່ຍັງມີປະສິດທິພາບຫລາຍກ່ຽວກັບລະບົບປະຕິບັດການໃນເຄືອຂ່າຍ ຄຳ ສັ່ງ sockstat ໃນ FreeBSD.
<
1. ລົງທະບຽນທຸກ Port ທີ່ເປີດຢູ່ໃນ FreeBSD
ການປະຕິບັດແບບງ່າຍດາຍໂດຍບໍ່ມີຕົວເລືອກຫຼືສັບປ່ຽນໃດໆ, ຄຳ ສັ່ງ sockstat ຈະສະແດງທຸກບ່ອນທີ່ເປີດຢູ່ໃນລະບົບ FreeBSD, ດັ່ງທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຂ້າງລຸ່ມນີ້.
# sockstat
ຄຸນຄ່າທີ່ສະແດງໃນຜົນຜະລິດຂອງ sockstat ແມ່ນໄດ້ອະທິບາຍໄວ້ວ່າ:
- ຜູ້ໃຊ້: ເຈົ້າຂອງ (ບັນຊີຜູ້ໃຊ້) ຂອງຊັອກເກັດ.
- COMMAND: ຄຳ ສັ່ງເຊິ່ງເປີດດ້ວຍເຕົ້າຮັບ.
- PID: ID ຂັ້ນຕອນຂອງ ຄຳ ສັ່ງທີ່ເປັນເຈົ້າຂອງຊັອກເກັດ.
- FD: ໝາຍ ເລກເອກະສານຂອງຊັອກເກັດ.
- ໂປໂມຊັ່ນ: ໂປໂຕຄອນການຂົນສົ່ງ (ໂດຍທົ່ວໄປແມ່ນ TCP/UDP) ທີ່ກ່ຽວຂ້ອງກັບຊັອກເກັດຫຼືຊັອກເກັດທີ່ເປີດຢູ່ໃນກໍລະນີທີ່ເຕົ້າຮັບໂດເມນ unix (datagram, stream ຫຼື seqpac) ສຳ ລັບເຕົ້າຮັບ UNIX.
- ພື້ນທີ່ຢູ່ໃນສະຖານທີ່: ມັນສະແດງທີ່ຢູ່ IP ຂອງທ້ອງຖິ່ນ ສຳ ລັບເຕົ້າຮັບ IP ທີ່ອີງໃສ່. ໃນກໍລະນີຂອງເຕົ້າຮັບ Unix ມັນເປັນຕົວແທນຂອງ endpoint filename ທີ່ຕິດກັບເຕົ້າຮັບ. ເຄື່ອງ ໝາຍ ບອກ
“ ??”
ໝາຍ ຄວາມວ່າຈຸດຈົບຂອງເຕົ້າຮັບບໍ່ສາມາດຖືກຮັບຮູ້ຫລືສ້າງຕັ້ງຂຶ້ນ. - FOREIGN ADDRESS: ທີ່ຢູ່ IP ທີ່ຢູ່ຫ່າງໄກສອກຫຼີກທີ່ເຊື່ອມຕໍ່ກັບຊັອກເກັດ.
2. ລາຍຊື່ Port Listening ຫຼືເປີດທີ່ Port ໃນ FreeBSD
ປະຕິບັດດ້ວຍທຸງ -l
, ຄຳ ສັ່ງ sockstat ຈະສະແດງເຕົ້າຮັບຟັງທັງ ໝົດ ທີ່ເປີດຢູ່ໃນລະບົບເຄືອຂ່າຍແລະທຸກບ່ອນທີ່ເປີດໂດເມນ unix ຫຼືທໍ່ຊື່ທີ່ກ່ຽວຂ້ອງກັບການປະມວນຜົນຂໍ້ມູນທ້ອງຖິ່ນບາງຊະນິດໃນລະບົບ.
# sockstat -l
3. ລົງລາຍຊື່ Port IPv4 ທີ່ເປີດຢູ່ໃນ FreeBSD
ເພື່ອສະແດງທຸກສິ່ງທຸກຢ່າງທີ່ເປີດໃສ່ເຕົ້າ ສຳ ລັບໂປໂຕຄອນ IPv4 ເທົ່ານັ້ນ, ໃຫ້ອອກ ຄຳ ສັ່ງດ້ວຍທຸງ -4
, ດັ່ງທີ່ໄດ້ແນະ ນຳ ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້.
# sockstat -4
4. ລົງລາຍຊື່ Port IPv6 ທີ່ເປີດຢູ່ໃນ FreeBSD
ຄ້າຍຄືກັບລຸ້ນ IPv4, ທ່ານຍັງສາມາດສະແດງເຕົ້າຮັບເຄືອຂ່າຍທີ່ເປີດຢູ່ ສຳ ລັບ IPv6 ເທົ່ານັ້ນ, ໂດຍການອອກ ຄຳ ສັ່ງດັ່ງທີ່ສະແດງຢູ່ຂ້າງລຸ່ມ.
# sockstat -6
5. ລົງທະບຽນ TCP ຫຼື UDP ທີ່ເປີດຢູ່ໃນ FreeBSD
ເພື່ອສະແດງເຕົ້າຮັບເຄືອຂ່າຍໂດຍອີງໃສ່ໂປໂຕຄອນເຄືອຂ່າຍທີ່ລະບຸໄວ້ເຊັ່ນ TCP ຫຼື UDP, ໃຫ້ໃຊ້ທຸງ -P
ຕາມດ້ວຍຊື່ການໂຕ້ຖຽງຂອງໂປໂຕຄອນ.
ຊື່ໂປໂຕຄອນສາມາດພົບໄດ້ໂດຍການກວດກາເນື້ອຫາຂອງເອກະສານ/etc/protocols. ໃນປະຈຸບັນ, ໂປໂຕຄອນ ICMP ບໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ ຈາກເຄື່ອງມື sockstat.
# sockstat -P tcp
# sockstat -P udp
ຕ່ອງໂສ້ໂປໂຕຄອນທັງສອງ.
# sockstat –P tcp,udp
6. ລົງທະບຽນ TCP ແລະ UDP Port Port ສະເພາະ
ຖ້າທ່ານຕ້ອງການສະແດງທຸກຊິ້ນທີ່ໃຊ້ TCP ຫຼື UDP IP ທີ່ເປີດ, ອີງໃສ່ ໝາຍ ເລກພອດທ້ອງຖິ່ນຫລືຫ່າງໄກສອກຫຼີກ, ໃຊ້ທຸງ ຄຳ ສັ່ງແລະ syntax ຂ້າງລຸ່ມ, ດັ່ງທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຂ້າງລຸ່ມນີ້.
# sockstat -P tcp -p 443 [Show TCP HTTPS Port] # sockstat -P udp -p 53 [Show UDP DNS Port] # sockstat -P tcp -p 443,53,80,21 [Show Both TCP and UDP]
ລາຍຊື່ບັນດາທ່າເຮືອທີ່ເປີດແລະເຊື່ອມຕໍ່ໃນ FreeBSD
ເພື່ອສະແດງທຸກຊິ້ນທີ່ເປີດແລະເຊື່ອມຕໍ່, ໃຊ້ທຸງ -c
. ດັ່ງທີ່ສະແດງຢູ່ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, ທ່ານສາມາດລາຍຊື່ທຸກໆເຕົ້າສຽບ HTTPS ຫຼືເຕົ້າສຽບ TCP ທີ່ເຊື່ອມຕໍ່ໂດຍການອອກ ຄຳ ສັ່ງ
# sockstat -P tcp -p 443 -c # sockstat -P tcp -c
8. ລົງລາຍຊື່ບັນດາ Port Porting ທີ່ຢູ່ໃນ FreeBSD
ເພື່ອລົງລາຍເຊັນເຕົ້າຮັບ TCP ທີ່ເປີດຢູ່ໃນສະຖານະການຟັງແມ່ນເພີ່ມເຕີມທຸງ -l
ແລະ -s
, ດັ່ງທີ່ສະແດງຢູ່ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້. ເປັນໂປໂຕຄອນທີ່ບໍ່ສາມາດເຊື່ອມຕໍ່ໄດ້, UDP ບໍ່ຮັກສາຂໍ້ມູນກ່ຽວກັບສະພາບຂອງການເຊື່ອມຕໍ່.
UDP ເປີດເຕົ້າຮັບບໍ່ສາມາດສະແດງໂດຍໃຊ້ສະຖານະຂອງມັນ, ເພາະວ່າໂປໂຕຄອນ udp ໃຊ້ datagrams ເພື່ອສົ່ງ/ຮັບຂໍ້ມູນແລະບໍ່ມີກົນໄກສ້າງເພື່ອ ກຳ ນົດສະຖານະຂອງການເຊື່ອມຕໍ່.
# sockstat -46 -l -s
9. ບອກຊັອກ Unix ແລະທໍ່ຊື່
ເຕົ້າຮັບໂດເມນ Unix, ພ້ອມທັງຮູບແບບອື່ນໆຂອງການສື່ສານລະຫວ່າງຂັ້ນທ້ອງຖິ່ນ, ເຊັ່ນວ່າທໍ່ທີ່ມີຊື່, ສາມາດສະແດງໂດຍ ຄຳ ສັ່ງ sockstat ໂດຍການໃຊ້ທຸງ -u
, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບຂ້າງລຸ່ມນີ້.
# sockstat -u
10. ບັນຊີ Ports ເປີດໂດຍການສະ ໝັກ ໃນ FreeBSD
ຜົນຜະລິດ ຄຳ ສັ່ງ Sockstat ສາມາດຖືກກັ່ນຕອງຜ່ານຜົນປະໂຫຍດ grep ເພື່ອສະແດງລາຍຊື່ຂອງພອດທີ່ເປີດໂດຍ ຄຳ ຮ້ອງສະ ໝັກ ຫຼື ຄຳ ສັ່ງສະເພາະ.
ສົມມຸດວ່າທ່ານຕ້ອງການທີ່ຈະລົງລາຍຊື່ທຸກໆຊັອກເກັດທີ່ກ່ຽວຂ້ອງກັບເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx, ທ່ານສາມາດອອກ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອບັນລຸວຽກງານ.
# sockstat -46 | grep nginx
ເພື່ອສະແດງພຽງແຕ່ຊັອກເກັດທີ່ເຊື່ອມຕໍ່ທີ່ກ່ຽວຂ້ອງກັບເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx, ອອກຄໍາສັ່ງຕໍ່ໄປນີ້.
# sockstat -46 -c| grep nginx
11. ລາຍຊື່ໂປໂຕຄອນທີ່ເຊື່ອມຕໍ່ HTTPS
ທ່ານສາມາດລາຍຊື່ທຸກໆເຕົ້າຮັບທີ່ເຊື່ອມຕໍ່ທີ່ກ່ຽວຂ້ອງກັບໂປໂຕຄອນ HTTPS ຄຽງຄູ່ກັບສະຖານະຂອງແຕ່ລະເຊື່ອມຕໍ່ໂດຍການເຮັດວຽກຕາມ ຄຳ ສັ່ງລຸ່ມນີ້.
# sockstat -46 -s -P TCP -p 443 -c
12. ບອກລາຍຊື່ເຕົ້າສຽບ HTTP ຫ່າງໄກສອກຫຼີກ
ເພື່ອລາຍຊື່ທຸກໆຊັອກຫ່າງໄກສອກຫຼີກທີ່ກ່ຽວຂ້ອງກັບໂປໂຕຄອນ HTTP, ທ່ານສາມາດ ດຳ ເນີນການປະສົມ ຄຳ ສັ່ງ ໜຶ່ງ ຢ່າງຕໍ່ໄປນີ້.
# sockstat -46 -c | egrep '80|443' | awk '{print $7}' | uniq -c | sort -nr # sockstat -46 -c -p 80,443 | grep -v ADDRESS|awk '{print $7}' | uniq -c | sort -nr
13. ຊອກຫາຂໍ້ຮຽກຮ້ອງ HTTP ທີ່ສູງທີ່ສຸດໂດຍທີ່ຢູ່ IP
ໃນກໍລະນີທີ່ທ່ານຕ້ອງການຊອກຫາວ່າມີການເຊື່ອມຕໍ່ HTTP ຈຳ ນວນເທົ່າໃດທີ່ຮ້ອງຂໍໂດຍທີ່ຢູ່ IP ຫ່າງໄກສອກຫຼີກ, ໃຫ້ອອກ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້. ຄໍາສັ່ງນີ້ສາມາດເປັນປະໂຫຍດຫຼາຍໃນກໍລະນີທີ່ທ່ານຕ້ອງການກໍານົດວ່າເຄື່ອງແມ່ຂ່າຍເວັບຂອງທ່ານຢູ່ພາຍໃຕ້ການໂຈມຕີ DDOS ບາງຊະນິດ. ໃນກໍລະນີທີ່ມີຄວາມສົງໃສ, ທ່ານຄວນສືບສວນກ່ຽວກັບທີ່ຢູ່ IP ດ້ວຍອັດຕາການຮ້ອງຂໍສູງສຸດ.
# sockstat -46 -c | egrep '80|443' | awk '{print $7}' | cut -d: -f1 | uniq -c | sort –nr
14. ລົງລາຍຊື່ DNS Opened Sockets
ຖ້າທ່ານໄດ້ ກຳ ຫນົດຄ່າເຊີບເວີ້ແລະສົ່ງຕໍ່ DNS server ທີ່ສະຖານທີ່ຂອງທ່ານເພື່ອໃຫ້ບໍລິການລູກຄ້າພາຍໃນຜ່ານໂປໂຕຄອນການຂົນສົ່ງ TCP ແລະທ່ານຕ້ອງການສະແດງລາຍຊື່ຂອງຊັອກເກັດທັງ ໝົດ
ເປີດໂດຍຜູ້ແກ້ໄຂ, ພ້ອມກັບສະຖານະຂອງແຕ່ລະເຊື່ອມຕໍ່ເຕົ້າຮັບ, ປະຕິບັດ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
# sockstat -46 -P tcp –p 53 -s
15. ສອບຖາມ TCP DNS ໃນ Domain Local
ຖ້າບໍ່ມີການຈາລະຈອນ DNS ໃນເຄືອຂ່າຍ, ທ່ານສາມາດຄົ້ນຫາ ຄຳ ຖາມ DNS ດ້ວຍຕົນເອງໃນເຕົ້າຮັບ TCP ຈາກຄອນໂຊນຂອງເຄື່ອງຈັກທ້ອງຖິ່ນໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ຫລັງຈາກນັ້ນ, ອອກ ຄຳ ສັ່ງຂ້າງເທິງນີ້ເພື່ອລົງບັນຊີຊັອກເກັດແກ້ໄຂທັງ ໝົດ.
# dig +tcp www.domain.com @127.0.0.1
ຫມົດເທົ່ານີ້! ຄຽງຄູ່ກັບການໃຊ້ລະບົບສາຍ ຄຳ ສັ່ງ lsof, ເສັ້ນ ຄຳ ສັ່ງ sockstat ແມ່ນປະໂຫຍດທີ່ມີປະສິດທິພາບທີ່ໃຊ້ ສຳ ລັບການຊອກຫາຂໍ້ມູນໃນເຄືອຂ່າຍແລະແກ້ໄຂບັນຫາຫລາຍໆດ້ານຂອງ FreeBSD ການຕິດຕັ້ງເຄືອຂ່າຍແລະການເຮັດວຽກທີ່ກ່ຽວຂ້ອງກັບເຄືອຂ່າຍ.
ຄູ່ຮ່ວມງານ ຄຳ ສັ່ງ FreeBSD sockstat ໃນ Linux ແມ່ນຕົວແທນໂດຍ netstat ຫຼື ຄຳ ສັ່ງ ss ໃໝ່. ເຊື່ອຫລືບໍ່, ອີງໃສ່ຜົນປະໂຫຍດຂອງ sockstat, ທ່ານສາມາດຊອກຫາໂປແກຼມທີ່ຄ້າຍຄືກັນທີ່ຖືກພັດທະນາ ສຳ ລັບ Android OS, ຊື່ວ່າ SockStat - Simple Netstat GUI.