]> git.saurik.com Git - apple/configd.git/blobdiff - get-network-info
configd-963.tar.gz
[apple/configd.git] / get-network-info
index bcf39c359d42a0ea7659b1c8826f67b8833e515e..b2ba85d53ea61fba2a54bcb3b7b6845bc51a4480 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 #
-#  Copyright © 2015, 2016 Apple Inc.
+#  Copyright © 2015-2017 Apple Inc.
 #
 #  get-network-info
 #
@@ -325,6 +325,88 @@ run_setkey () {
 
 }
 
+#
+# skywalk configuration and statistics
+#
+run_skywalk () {
+
+       if [ ! -x /usr/sbin/skywalkctl ]; then
+               return
+       fi
+
+       echo "#"                                                         > skywalk.txt
+       echo "# skywalkctl list-providers -D"                           >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl list-providers -D                          >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl channel-stats"                               >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl channel-stats                              >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netstat -a -n"                               >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netstat -a -n                              >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netstat -s"                                  >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netstat -s                                 >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netstat -s --global"                         >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netstat -s --global                        >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netstat --netif"                             >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netstat --netif                            >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netstat --flowswitch"                        >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netstat --flowswitch                       >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netstat --flow-adv"                          >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netstat --flow-adv                         >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netstat --flow-owner"                        >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netstat --flow-owner                       >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl netns -a"                                    >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl netns -a                                   >> skywalk.txt          2>&1
+
+       echo "#"                                                        >> skywalk.txt
+       echo "# skywalkctl memory"                                      >> skywalk.txt
+       echo "#"                                                        >> skywalk.txt
+       /usr/sbin/skywalkctl memory                                     >> skywalk.txt          2>&1
+
+}
+
+#
+# skywalk configuration and statistics
+#
+run_nettop () {
+
+       if [ ! -x /usr/bin/nettop ]; then
+               return
+       fi
+
+       echo "#"                                                         > nettop.txt
+       echo "# nettop -U -l 1"                                         >> nettop.txt
+       echo "#"                                                        >> nettop.txt
+       /usr/bin/nettop -U -l 1                                         >> nettop.txt           2>&1
+
+}
+
 #
 # Network preferences
 #
@@ -334,6 +416,7 @@ collect_configuration_files () {
                /Library/Preferences/com.apple.networkextension.plist                           \
                /Library/Preferences/com.apple.networkextension.control.plist                   \
                /Library/Preferences/com.apple.networkextension.necp.plist                      \
+               /Library/Preferences/com.apple.networkextension.cache.plist                     \
                /Library/Preferences/SystemConfiguration/com.apple.nat.plist                    \
                /Library/Preferences/SystemConfiguration/com.apple.RemoteAccessServers.plist    \
                /Library/Preferences/SystemConfiguration/com.apple.smb.server.plist             \
@@ -385,16 +468,17 @@ run_neutil () {
                return
        fi
 
-       echo "#"                                                                >  necp.txt
-       echo "# neutil policy dump"                                             >> necp.txt
-       echo "#"                                                                >> necp.txt
-       /usr/local/bin/neutil policy dump                                       >> necp.txt             2>&1
-
-       echo "#"                                                                >  network-agents.txt
-       echo "# neutil agent dump"                                              >> network-agents.txt
-       echo "#"                                                                >> network-agents.txt
-       /usr/local/bin/neutil agent dump                                        >> network-agents.txt   2>&1
-
+       (
+               echo "#"                                                                >  necp.txt
+               echo "# neutil policy dump"                                             >> necp.txt
+               echo "#"                                                                >> necp.txt
+               /usr/local/bin/neutil policy dump                                       >> necp.txt             2>&1
+
+               echo "#"                                                                >  network-agents.txt
+               echo "# neutil agent dump"                                              >> network-agents.txt
+               echo "#"                                                                >> network-agents.txt
+               /usr/local/bin/neutil agent dump                                        >> network-agents.txt   2>&1
+       ) &
 }
 
 #
@@ -462,19 +546,7 @@ run_scutil () {
        echo "#"                                                                >> nc-info.txt
        /usr/sbin/scutil --nc list                                              >> nc-info.txt                  2>&1
 
-       ${PRIV} /usr/sbin/scutil -p --snapshot
-       if [ -f /var/tmp/configd-store.plist ]; then
-               cat /var/tmp/configd-store.plist                                > configd-store.plist           2>&1
-       fi
-       if [ -f /var/tmp/configd-pattern.plist ]; then
-               cat /var/tmp/configd-pattern.plist                              > configd-pattern.plist         2>&1
-       fi
-       if [ -f /var/tmp/configd-session.plist ]; then
-               cat /var/tmp/configd-session.plist                              > configd-session.plist         2>&1
-       fi
-       if [ -f /var/tmp/configd-state ]; then
-               cat /var/tmp/configd-state                                      > configd-state                 2>&1
-       fi
+       /usr/sbin/scutil -p --snapshot                                          SCDynamicStore.plist            2>&1
 
 }
 
@@ -565,20 +637,20 @@ run_lsof () {
 }
 
 start_pcap() {
-
        #
        # collect a packet capture if netdiagnose is available
        #
        if [ -x /usr/local/bin/netdiagnose ]; then
-               /usr/local/bin/netdiagnose -p "${REQUESTED_OUTDIR}" start sysdiagpcap                   2>&1
-
+               trap stop_pcap SIGINT
+               /usr/local/bin/netdiagnose -p "${REQUESTED_OUTDIR}" start sysdiagpcap                   2>&1    1>/dev/null
                PCAP_STARTED=1
        fi
 }
 
 stop_pcap () {
        if [ ${PCAP_STARTED} -ne 0 ]; then
-               /usr/local/bin/netdiagnose stop sysdiagpcap                                             2>&1
+               trap '' SIGINT
+               /usr/local/bin/netdiagnose stop sysdiagpcap                                             2>&1    1>/dev/null
        fi
 }
 
@@ -596,6 +668,7 @@ collect_sensitive_info () {
        run_ndp
        run_arp
        run_neutil
+       run_nettop
        run_network_test
 }
 
@@ -615,6 +688,7 @@ collect_info () {
        run_netstat
        run_ipconfig
        run_setkey
+       run_skywalk
        collect_vpn_logs
        run_route
        run_hostname
@@ -643,12 +717,16 @@ usage () {
 
 is_outdir_valid () {
 
-       if [ ! -d ${REQUESTED_OUTDIR} ] ||
-          [ "${REQUESTED_OUTDIR}" = "" ]; then
+       if [ "${REQUESTED_OUTDIR}" = "" ]; then
                usage
                exit 1
        fi
 
+       if [ ! -d ${REQUESTED_OUTDIR} ]; then
+               echo "${REQUESTED_OUTDIR} does not exist"
+               exit 1
+       fi
+
        if [ ! -w ${REQUESTED_OUTDIR} ]; then
                echo "${REQUESTED_OUTDIR} is write-protected"
                exit 1