#!/bin/sh
OUT=mobility-config-$$
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PRIV=""
if [ ${EUID} -ne 0 ]; then
PRIV="sudo"
fi
cd /tmp
mkdir ${OUT}
ps axlww > ${OUT}/ps 2>&1
ifconfig -a -b > ${OUT}/ifconfig 2>&1
netstat -n -r >> ${OUT}/netstat 2>&1
for if in `ifconfig -l`
do
case ${if} in
lo* ) ;;
en* ) ipconfig getpacket ${if} > ${OUT}/ipconfig-${if} 2>&1
;;
esac
done
if [ -e /System/Library/CoreServices/SystemVersion.plist ]; then
cat /System/Library/CoreServices/SystemVersion.plist \
> ${OUT}/SystemVersion.plist 2>&1
fi
if [ -e /System/Library/CoreServices/ServerVersion.plist ]; then
cat /System/Library/CoreServices/ServerVersion.plist \
> ${OUT}/ServerVersion.plist 2>&1
fi
ioreg -l > ${OUT}/ioreg 2>&1
hostinfo > ${OUT}/hostinfo 2>&1
if [ -e /etc/hostconfig ]; then
cat /etc/hostconfig > ${OUT}/etc.hostconfig 2>&1
fi
scutil --dns > ${OUT}/dns-configuration 2>&1
if [ -e /etc/resolv.conf ]; then
cat /etc/resolv.conf > ${OUT}/etc.resolv.conf 2>&1
fi
if [ -e /var/run/resolv.conf ]; then
cat /var/run/resolv.conf > ${OUT}/var.run.resolv.conf 2>&1
fi
niutil -statistics . > ${OUT}/netinfo-statistics 2>&1
if [ -f /var/run/niconfig_local.xml ]; then
cat /var/run/niconfig_local.xml > ${OUT}/niconfig_local.xml 2>&1
fi
for f in \
/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist \
/Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist \
/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist \
/Library/Preferences/SystemConfiguration/com.apple.nat.plist \
/Library/Preferences/SystemConfiguration/preferences.plist \
/Library/Preferences/com.apple.sharing.firewall.plist \
do
if [ -e ${f} ]; then
b=`basename $f`
cat ${f} > ${OUT}/${b} 2>&1
fi
done
${PRIV} scutil -p <<_END_OF_INPUT
open
snapshot
quit
_END_OF_INPUT
if [ -f /var/tmp/configd-store.xml ]; then
cp /var/tmp/configd-store.xml ${OUT}/configd-store.xml
fi
if [ -f /var/tmp/configd-pattern.xml ]; then
cp /var/tmp/configd-pattern.xml ${OUT}/configd-pattern.xml
fi
if [ -f /var/tmp/configd-session.xml ]; then
cp /var/tmp/configd-session.xml ${OUT}/configd-session.xml
fi
scutil -d -v -r www.apple.com > ${OUT}/reachability-info 2>&1
if [ -f /usr/bin/dig ]; then
dig -t any -c any www.apple.com > ${OUT}/dig-results 2>&1
fi
mount > ${OUT}/mounted-filesystems 2>&1
tail -1000 /var/log/system.log > ${OUT}/system.log
if [ -f /var/log/ppp.log ]; then
cp /var/log/ppp.log ${OUT}/ppp.log
fi
if [ -f /usr/sbin/kextstat ]; then
kextstat > ${OUT}/kextstat 2>&1
elif [ -f /usr/sbin/kmodstat ]; then
kmodstat > ${OUT}/kmodstat 2>&1
fi
echo "#" >> ${OUT}/network-statistics
echo "# netstat -n -a -A -f inet" >> ${OUT}/network-statistics
echo "#" >> ${OUT}/network-statistics
netstat -n -a -A -f inet >> ${OUT}/network-statistics 2>&1
echo "#" >> ${OUT}/network-statistics
echo "# lsof -n -i -P" >> ${OUT}/network-statistics
echo "#" >> ${OUT}/network-statistics
lsof -n -i -P >> ${OUT}/network-statistics 2>&1
echo "#" >> ${OUT}/network-statistics
echo "# netstat -s" >> ${OUT}/network-statistics
echo "#" >> ${OUT}/network-statistics
netstat -s >> ${OUT}/network-statistics 2>&1
echo "#" >> ${OUT}/network-statistics
echo "# netstat -m" >> ${OUT}/network-statistics
echo "#" >> ${OUT}/network-statistics
netstat -m >> ${OUT}/network-statistics 2>&1
echo "#" >> ${OUT}/network-statistics
echo "# netstat -i -n -d" >> ${OUT}/network-statistics
echo "#" >> ${OUT}/network-statistics
netstat -i -n -d >> ${OUT}/network-statistics 2>&1
echo "#" >> ${OUT}/network-statistics
echo "# ipfw -at show" >> ${OUT}/network-statistics
echo "#" >> ${OUT}/network-statistics
ipfw -at show >> ${OUT}/network-statistics 2>&1
echo "#" >> ${OUT}/network-statistics
echo "# appletalk -s" >> ${OUT}/network-statistics
echo "#" >> ${OUT}/network-statistics
appletalk -s >> ${OUT}/network-statistics 2>&1
echo "#" > ${OUT}/system-statistics
echo "# uptime" >> ${OUT}/system-statistics
echo "#" >> ${OUT}/system-statistics
uptime >> ${OUT}/system-statistics 2>&1
echo "#" >> ${OUT}/system-statistics
echo "# pstat -t" >> ${OUT}/system-statistics
echo "#" >> ${OUT}/system-statistics
pstat -t >> ${OUT}/system-statistics 2>&1
echo "#" >> ${OUT}/system-statistics
echo "# sysctl -a" >> ${OUT}/system-statistics
echo "#" >> ${OUT}/system-statistics
sysctl -a >> ${OUT}/system-statistics 2>&1
echo "#" >> ${OUT}/system-statistics
echo "# zprint" >> ${OUT}/system-statistics
echo "#" >> ${OUT}/system-statistics
zprint >> ${OUT}/system-statistics 2>&1
echo "#" >> ${OUT}/system-statistics
echo "# top -l5 -s2" >> ${OUT}/system-statistics
echo "#" >> ${OUT}/system-statistics
echo ""
echo "Please wait, collecting statistics"
echo ""
top -s 2 -l 5 >> ${OUT}/system-statistics 2>&1
for daemon in bootpd configd pppd
do
LOG=${daemon}.crash.log
if [ -e /Library/Logs/CrashReporter/${LOG} ]; then
cat /Library/Logs/CrashReporter/${LOG} > ${OUT}/${LOG} 2>&1
fi
done
tar cfz ${OUT}.tar.gz ${OUT}
rm -rf ${OUT}
echo "Network data collected to /tmp/${OUT}.tar.gz"