macOS menggunakan port 5900 untuk Screen Sharing (VNC Server), yang bisa kita lihat dengan netstat
netstat -anvp tcp | awk 'NR<3 || /LISTEN/' | grep 5900
Kendala yang banyak dihadapi oleh pengguna Screen Sharing di Mac adalah banyaknya brute-force karena menggunakan port default VNC (port 5900), yang menyebabkan kita tidak bisa login karena terlalu banyak failed authentication.
Ganti Port Screen Sharing
Tidak tersedia GUI untuk merubah port VNC Server di macOS, dan file plist bawaannya tidak bisa kita ubah, walaupun dengan akses root
$ sudo sed -i '' 's/vnc-server/9900/g' /System/Library/LaunchDaemons/com.apple.screensharing.plist sed: /System/Library/LaunchDaemons/com.apple.screensharing.plist: Operation not permitted
tetapi tidak perlu khawatir, karena kita masih bisa menggunakan trik lain.
Cara 1: Copy File com.apple.screensharing.plist
Copy file com.apple.screensharing.plist
ke folder /Library/LaunchDaemons/
sudo cp /System/Library/LaunchDaemons/com.apple.screensharing.plist /Library/LaunchDaemons/
setelah file tersebut dicopy, kita bisa merubah file /Library/LaunchDaemons/com.apple.screensharing.plist
, ubah port vnc
<key>SockServiceName</key> <string>vnc-server</string>
ubah bagian tersebut menjadi
<key>SockServiceName</key> <string>9900</string>
vnc-server tersebut berarti port 5900, untuk mappingnya bisa dilihat dengan
grep vnc-server /etc/services # output rfb 5900/tcp vnc-server # VNC Server rfb 5900/udp vnc-server # VNC Server
matikan services screen sharing yang diload dari /System/Library/LaunchDaemons/com.apple.screensharing.plist
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.screensharing.plist
lalu jalankan service dari /Library/LaunchDaemons/com.apple.screensharing.plist
sudo launchctl load /Library/LaunchDaemons/com.apple.screensharing.plist
Cek port 9900 apakah sudah aktif atau belum dengan netstat
sudo netstat -anvp tcp | awk 'NR<3 || /LISTEN/' | grep 9900 # output tcp4 0 0 *.9900 *.* LISTEN 131072 131072 1 0 00180 00000006 000000000009b941 00000000 00000900 1 0 000001 tcp6 0 0 *.9900 *.* LISTEN 131072 131072 1 0 00180 00000006 000000000009b940 00000000 00000800 1 0 000001
port 9900 sudah bisa digunakan untuk konek ke macOS
Cara 2: Ubah /etc/services
Cara kali ini jauh lebih mudah, tetapi yang bisa kita rubah hanya port yang digunakan, berbeda dengan cara pertama yang bisa kita ubah semua konfigurasi yang tersedia.
Buka file /etc/services
, ubah port 5900
rfb 5900/tcp vnc-server # VNC Server rfb 5900/udp vnc-server # VNC Server
menjadi 9900 pada service vnc-server
rfb 9900/tcp vnc-server # VNC Server rfb 9900/udp vnc-server # VNC Server
setelah file tersebut di save, otomatis VNC Server akan menggunakan port 9900, tidak perlu reload plist.