แอปพลิเคชันเพื่อแจ้งผู้ใช้เกี่ยวกับการเชื่อมต่อ VNC ที่ใช้งานอยู่


4

ฉันต้องการบางสิ่งที่มองเห็นได้มากกว่ากล้องส่องทางไกลที่ละเอียดอ่อนมากของ Apple ในเมนูสถานะด้านบนขวาเมื่อมีการเชื่อมต่อ VNC ขาเข้าที่ใช้งานอยู่กับเครื่อง

โดยเฉพาะอย่างยิ่งหน้าต่างลอยแจ้งให้ผู้ใช้ทราบว่ามีการเชื่อมต่อ VNC ที่ใช้งานอยู่และอาจเป็นที่อยู่ IP ทางออกที่ดีที่สุดที่ฉันพบคือใช้คำสั่งด้านล่างในเทอร์มินัล แต่นั่นไม่ได้แก้ปัญหาการตรวจสอบของฉันจริง ๆ เพราะฉันต้องไปหาข้อมูล

netstat -a | grep vnc | grep ESTABLISHED

คำตอบ:


4

คุณสามารถสร้างสคริปต์นี้และเรียกใช้จากเทอร์มินัล

#!/bin/bash

alertme() {
    say "Big brother watching"
}

while :
do    
  netstat -a | grep vnc | grep ESTABLISHED && alertme
  sleep 60 #wait 60 seconds
done

และคุณได้รับคำเตือนที่พูด หากคุณบันทึกสคริปต์ด้วย .command ส่วนขยายคุณสามารถเริ่มจาก Finder โดยดับเบิลคลิก

คุณสามารถติดตั้ง การคำราม จากไดเร็กทอรี Extras ที่แพ็กเกจ growlnotify คุณสามารถเปลี่ยนคำพูดใน alertme เป็น:

growlnotify --appIcon TextEdit "Big brother"  -m 'watching'

และมีหน้าต่างแจ้งเตือน

หรือคุณสามารถสร้างเวิร์กโฟลว์อัตโนมัติด้วยเชลล์สคริปต์ & amp; การแจ้งเตือนหน้าต่างป๊อปอัพ :)

หรือคุณสามารถใช้สิ่งต่อไปนี้:

sudo fs_usage -f network AppleVNCServer | grep -E '(accept|close)'

แทน netstat | grep และจะได้รับการเชื่อมต่อที่แน่นอนและยกเลิกการเชื่อมต่อครั้งเช่นถัดไป แต่คุณต้องเรียกใช้ในฐานะผู้ดูแลระบบ ... (sudo)

14:19:20  accept                                                                                             0.000024   AppleVNCServ
14:19:33  close                                                                                              0.000047   AppleVNCServ
14:27:01  accept                                                                                             0.000024   AppleVNCServ
14:28:19  close                                                                                              0.000055   AppleVNCServ
14:28:26  accept                                                                                             0.000018   AppleVNCServ
14:28:34  close                                                                                              0.000037   AppleVNCServ

1

เนื่องจาก launchd เริ่มต้นและหยุดกระบวนการแชร์หน้าจอคุณสามารถสร้างงาน launchd ใหม่ที่ใช้ ให้มีชีวิตอยู่ พจนานุกรมที่มี OtherJobEnabled ข้อที่จะผูกเครื่องมือเตือนของคุณกับฉลาก Launchd com.apple.ScreenSharing.server

เมื่อ ScreenSharing เริ่มทำงานงานของคุณก็จะเริ่มโดย launchd (หรือกลับกันหากคุณต้องการ)

งานของระบบที่คุณต้องการให้สำคัญคือ /System/Library/LaunchAgents/com.apple.ScreenSharing.plist

นักวางแผนของคุณควรเข้าไป ~/Library/LaunchAgents หรือ /Library/LaunchAgents ขึ้นอยู่กับว่าคุณต้องการเตือนผู้ใช้เพียงคนเดียวหรือผู้ใช้ทั้งหมดเตือน ฉันก็จะตั้ง LimitLoadToSessionType ไปยัง น้ำ .

ดังที่ได้กล่าวไว้โดย @ jm666 - Growl สามารถทำการแจ้งเตือนที่น่ารักได้ด้วยการควบคุมและโปร่งใสซ้อนทับ ฯลฯ

growlnotify --appIcon Screen\ Sharing "Screen Sharing" -m "is now active - click to dismiss" -s

คุณสามารถจินตนาการได้มากด้วยเชลล์สคริปต์เพื่อกำหนด IP ต้นทางวันที่และเวลาบันทึกการเชื่อมต่อหรือทำสิ่งสนุก ๆ ทุกประเภทตั้งแต่ launchd มีการสนับสนุนเชลล์สคริปต์ที่ดีรวมถึงแอปพลิเคชันเต็มรูปแบบ

Apple Script ที่รวดเร็วและสกปรกอาจดีสำหรับการทดสอบเพื่อให้แน่ใจว่า launchd ทำงานได้ดีและคุณสามารถขัดการนำเสนอได้ในภายหลัง

osascript -e 'tell application "System Events" to display alert "Incoming VNC session started" as warning buttons {"Cancel", "OK"} default button "OK" cancel button "Cancel" message "Screen Sharing is now active and someone can see and control this Mac until the menu bar icon of \"binoculars inside a monitor\" turns back into binoculars alone. "'

ดูลิงค์เหล่านี้สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับ launchd และ กล่องโต้ตอบ AppleScript สำหรับการอ้างอิง


0

หากคุณพอใจกับสิ่งที่รายงาน

netstat -a | grep vnc | grep ESTABLISHED

คุณสามารถใช้ยูทิลิตี้ OS X Console เพื่ออ่านไฟล์นี้ เพียงส่งไฟล์บันทึกไปที่ / var / log / หรือ / Library / Logs แล้วคุณจะเห็นไฟล์นั้นในรายการบันทึกคอนโซล

นอกจากนี้คุณยังสามารถทำให้ระบบติดตามขนาดของบันทึกและพลิกมันโดยอัตโนมัติและบีบอัดเวอร์ชั่นเก่าหลังจากถึงขนาดที่แน่นอน

เช็คเอาท์ newsyslog หากคุณสนใจ


แม้ว่าฉันจะรู้ว่าตอนนี้คุณต้องการสิ่งที่ชัดเจนกว่าปล่อยให้เทอร์มินัลหรือยูทิลิตี้คอนโซลเปิด ...
emiller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.