Skip to content

Commit c57891e

Browse files
Network-Info.sh
1 parent 87c5e3d commit c57891e

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

Network-Info.sh

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#!/bin/bash
2+
IP4FW=/sbin/iptables
3+
IP6FW=/sbin/ip6tables
4+
LSPCI=/usr/bin/lspci
5+
ROUTE=/sbin/route
6+
NETSTAT=/bin/netstat
7+
LSB=/usr/bin/lsb_release
8+
DNSCLIENT="/etc/resolv.conf"
9+
DRVCONF="/etc/modprobe.conf"
10+
NETALIASCFC="/etc/sysconfig/network-scripts/ifcfg-eth?-range?"
11+
NETCFC="/etc/sysconfig/network-scripts/ifcfg-eth?"
12+
NETSTATICROUTECFC="/etc/sysconfig/network-scripts/route-eth?"
13+
SYSCTL="/etc/sysctl.conf"
14+
OUTPUT="network.$(date +'%d-%m-%y').info.txt"
15+
SUPPORT_ID="your_name@service_provider.com"
16+
chk_root() {
17+
local meid="$(id -u)"
18+
if [ "$meid" -ne 0 ]; then
19+
echo "You must be root user to run this tool."
20+
exit 999
21+
fi
22+
}
23+
write_header() {
24+
echo "---------------------------------------------------" >>"$OUTPUT"
25+
echo "$@" >>"$OUTPUT"
26+
echo "---------------------------------------------------" >>"$OUTPUT"
27+
}
28+
dump_info() {
29+
echo "* Hostname: $(hostname)" >"$OUTPUT"
30+
echo "* Run date and time: $(date)" >>"$OUTPUT"
31+
write_header "Linux Distro"
32+
echo "Linux kernel: $(uname -mrs)" >>"$OUTPUT"
33+
"$LSB" -a >>"$OUTPUT"
34+
[ -x "$HWINF" ] && write_header "$HWINF"
35+
[ -x "$HWINF" ] && "$HWINF" >>"$OUTPUT"
36+
[ -x "$HWINF" ] && write_header "$HWINF"
37+
[ -x "$HWINF" ] && "$HWINF" >>"$OUTPUT"
38+
write_header "PCI Devices"
39+
"$LSPCI" -v >>"$OUTPUT"
40+
write_header "$IFCFG Output"
41+
"$IFCFG" >>"$OUTPUT"
42+
write_header "Kernel Routing Table"
43+
"$ROUTE" -n >>"$OUTPUT"
44+
write_header "Network Card Drivers Configuration $DRVCONF"
45+
[ -f "$DRVCONF" ] && grep eth "$DRVCONF" >>"$OUTPUT" || echo "Error $DRVCONF file not found." >>"$OUTPUT"
46+
write_header "DNS Client $DNSCLIENT Configuration"
47+
[ -f "$DNSCLIENT" ] && cat "$DNSCLIENT" >>"$OUTPUT" || echo "Error $DNSCLIENT file not found." >>"$OUTPUT"
48+
write_header "Network Configuration File"
49+
for f in "$NETCFC"; do
50+
if [ -f "$f" ]; then
51+
echo "** $f **" >>"$OUTPUT"
52+
cat "$f" >>"$OUTPUT"
53+
else
54+
echo "Error $f not found." >>"$OUTPUT"
55+
fi
56+
done
57+
write_header "Network Aliase File"
58+
for f in "$NETALIASCFC"; do
59+
if [ -f "$f" ]; then
60+
echo "** $f **" >>"$OUTPUT"
61+
cat "$f" >>"$OUTPUT"
62+
else
63+
echo "Error $f not found." >>"$OUTPUT"
64+
fi
65+
done
66+
write_header "Network Static Routing Configuration"
67+
for f in "$NETSTATICROUTECFC"; do
68+
if [ -f "$f" ]; then
69+
echo "** $f **" >>"$OUTPUT"
70+
cat "$f" >>"$OUTPUT"
71+
else
72+
echo "Error $f not found." >>"$OUTPUT"
73+
fi
74+
done
75+
write_header "IP4 Firewall Configuration"
76+
"$IP4FW" -L -n >>"$OUTPUT"
77+
write_header "IP6 Firewall Configuration"
78+
"$IP6FW" -L -n >>"$OUTPUT"
79+
write_header "Network Stats"
80+
"$NETSTAT" -s >>"$OUTPUT"
81+
write_header "Network Tweaks via $SYSCTL"
82+
[ -f "$SYSCTL" ] && cat "$SYSCTL" >>"$OUTPUT" || echo "Error $SYSCTL not found." >>"$OUTPUT"
83+
echo "The Network Configuration Info Written To $OUTPUT. Please email this file to $SUPPORT_ID."
84+
}
85+
chk_root
86+
dump_info

0 commit comments

Comments
 (0)