ก่อนอื่นฉันไม่ใช่ผู้เชี่ยวชาญ BSD แต่อย่าง OP ฉันต้องการคร่าวๆของการเรียกใช้สิ่งต่อไปนี้ในกล่อง * nix หรือใกล้เคียง:
netstat -tulpn
ฉันอ่านคำถาม / คำตอบอื่น ๆ ที่เสนอ lsof * และ netstat * บน MacOS และฉันยังต้องการบางสิ่งที่มีขนาดกะทัดรัดยิ่งขึ้น ดังนั้นนี่คือสิ่งที่ฉันรวบรวมไว้อย่างรวดเร็ว:
netstat -Watnlv | grep LISTEN | awk '{"ps -o comm= -p " $9 | getline procname;colred="\033[01;31m";colclr="\033[0m"; print cred "proto: " colclr $1 colred " | addr.port: " colclr $4 colred " | pid: " colclr $9 colred " | name: " colclr procname; }' | column -t -s "|"
มันเกินความจริงเล็กน้อยดังนั้นฉันจึงเพิ่มสีไปยังเอาต์พุตเพื่อการวัดที่ดี เนื่องจากฉันจะไม่สามารถจดจำหรือต้องการพิมพ์สิ่งนี้ได้ ฉันใส่มันลงในฟังก์ชั่นทุบตีแล้วก็เรียกมันว่าเมื่อจำเป็น นี่คือฟังก์ชั่นทุบตีกล่าวว่า:
macnst (){
netstat -Watnlv | grep LISTEN | awk '{"ps -o comm= -p " $9 | getline procname;colred="\033[01;31m";colclr="\033[0m"; print colred "proto: " colclr $1 colred " | addr.port: " colclr $4 colred " | pid: " colclr $9 colred " | name: " colclr procname; }' | column -t -s "|"
}
ฉันมีฟังก์ชันอำนวยความสะดวกเล็ก ๆ เหล่านี้ในไฟล์ที่ฉันมาจาก ~ / .bash_profile หรือ ~ / .zshrc กำลังเพิ่มลงในคอลเล็กชัน มันน่าสนใจที่จะเห็นโอกาสอื่น ๆ ที่จะทำให้ nicer / slimmer นี้ดีขึ้น
ตัวอย่างผลลัพธ์:
> macns
proto: tcp4 addr.port: 127.0.0.1.9999 pid: 70078 name: /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46 addr.port: *.35729 pid: 70078 name: /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46 addr.port: *.62087 pid: 70078 name: /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46 addr.port: *.62070 pid: 70078 name: /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46 addr.port: *.62085 pid: 70078 name: /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp4 addr.port: *.61993 pid: 70043 name: /Applications/IntelliJ IDEA.app/Contents/MacOS/idea
proto: tcp46 addr.port: *.61992 pid: 70065 name: /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4 addr.port: 127.0.0.1.42329 pid: 70065 name: /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4 addr.port: 127.0.0.1.61983 pid: 70043 name: /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4 addr.port: 127.0.0.1.63342 pid: 70043 name: /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4 addr.port: 127.0.0.1.6942 pid: 70043 name: /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4 addr.port: 127.0.0.1.3075 pid: 67931 name: /Applications/electerm.app/Contents/Frameworks/electerm Helper.app/Contents/MacOS/electerm Helper
proto: tcp6 addr.port: *.58640 pid: 320 name: /usr/libexec/rapportd
proto: tcp4 addr.port: *.58640 pid: 320 name: /usr/libexec/rapportd
proto: tcp4 addr.port: 127.0.0.1.9770 pid: 71 name: /Applications/Pritunl.app/Contents/Resources/pritunl-service
lsof
ก็ค่อนข้างดีกว่าขอบคุณ