]> The Tcpdump Group git mirrors - libpcap/blobdiff - README.macosx
pcap_create_interface() needs the interface name on Linux.
[libpcap] / README.macosx
index 25794d88594b4575872141f0cbc8c550c15613ec..3dc92117123ca4def0e1b7a3dc59d15aa721fe38 100644 (file)
@@ -17,12 +17,17 @@ devfs is based on an older (non-default) FreeBSD devfs, and that version
 of devfs cannot be configured to set the permissions and/or ownership of
 those devices.
 
-Therefore, we supply a "startup item" for OS X that will change the
-ownership of the BPF devices so that the "admin" group owns them, and
-will change the permission of the BPF devices to rw-rw----, so that all
-users in the "admin" group - i.e., all users with "Allow user to
-administer this computer" turned on - have both read and write access to
-them.
+Therefore, we supply:
+
+       a "startup item" for older versions of Mac OS X;
+
+       a launchd daemon for Tiger and later versions of Mac OS X;
+
+Both of them will change the ownership of the BPF devices so that the
+"admin" group owns them, and will change the permission of the BPF
+devices to rw-rw----, so that all users in the "admin" group - i.e., all
+users with "Allow user to administer this computer" turned on - have
+both read and write access to them.
 
 The startup item is in the ChmodBPF directory in the source tree.  A
 /Library/StartupItems directory should be created if it doesn't already
@@ -30,7 +35,28 @@ exist, and the ChmodBPF directory should be copied to the
 /Library/StartupItems directory (copy the entire directory, so that
 there's a /Library/StartupItems/ChmodBPF directory, containing all the
 files in the source tree's ChmodBPF directory; don't copy the individual
-items in that directory to /Library/StartupItems).
+items in that directory to /Library/StartupItems).  The ChmodBPF
+directory, and all files under it, must be owned by root.  Installing
+the files won't immediately cause the startup item to be executed; it
+will be executed on the next reboot.  To change the permissions before
+the reboot, run
+
+       sudo SystemStarter start ChmodBPF
+
+The launchd daemon is the chmod_bpf script, plus the
+org.tcpdump.chmod_bpf.plist launchd plist file.  chmod_bpf should be
+installed in /usr/local/bin/chmod_bpf, and org.tcpdump.chmod_bpf.plist
+should be installed in /Library/LaunchDaemons.  chmod_bpf, and
+org.tcpdump.chmod_bpf.plist, must be owned by root.  Installing the
+script and plist file won't immediately cause the script to be executed;
+it will be executed on the next reboot.  To change the permissions
+before the reboot, run
+
+       sudo /usr/local/bin/chmod_bpf
+
+or
+
+       sudo launchctl load /Library/LaunchDaemons/org.tcpdump.chmod_bpf.plist
 
 If you want to give a particular user permission to access the BPF
 devices, rather than giving all administrative users permission to
@@ -41,3 +67,8 @@ give the administrative users permission to read but not write the BPF
 devices, you can have the script change the owner to that user, the
 group to "admin", and the permissions to rw-r-----.  Other possibilities
 are left as an exercise for the reader.
+
+(NOTE: due to a bug in Snow Leopard, if you change the permissions not
+to grant write permission to everybody who should be allowed to capture
+traffic, non-root users who cannot open the BPF devices for writing will
+not be able to capture outgoing packets.)