|
|
1.1 root 1: function socket(t,a,p, s1,s2) {
2: s1 = a == "0.0.0.0" ? "*" : a;
3: if (p == 0)
4: s2 = "*";
5: else
6: if ((p, t) in services)
7: s2 = services[p, t];
8: else
9: s2 = p;
10:
11: return (s1 "." s2);
12: }
13:
14: function tt_type(f) {
15: if (f in types)
16: return types[f];
17:
18: return (f ? f : "unknown");
19: }
20:
21: BEGIN {
22: types[1] = "CLOSED";
23: types[2] = "LISTEN";
24: types[3] = "SYN_SENT";
25: types[4] = "SYN_RCVD";
26: types[5] = "ESTABLISHED";
27: types[6] = "FIN_WAIT_1";
28: types[7] = "FIN_WAIT_2";
29: types[8] = "CLOSE_WAIT";
30: types[9] = "LAST_ACK";
31: types[10] = "CLOSING";
32: types[11] = "TIME_WAIT";
33:
34: services[7, "udp"] = "echo";
35: services[9, "udp"] = "discard";
36: services[11, "tcp"] = "systat";
37: services[13, "tcp"] = "daytime";
38: services[15, "tcp"] = "netstat";
39: services[20, "tcp"] = "ftp-data";
40: services[21, "tcp"] = "ftp";
41: services[23, "tcp"] = "telnet";
42: services[25, "tcp"] = "smtp";
43: services[37, "tcp"] = "time";
44: services[37, "udp"] = "time";
45: services[42, "udp"] = "name";
46: services[43, "tcp"] = "whois";
47: services[53, "udp"] = "domain";
48: services[53, "tcp"] = "domain";
49: services[101, "tcp"] = "hostnames";
50: services[102, "tcp"] = "tsap";
51: services[109, "tcp"] = "pop";
52: services[111, "udp"] = "sunrpc";
53: services[111, "tcp"] = "sunrpc";
54: services[69, "udp"] = "tftp";
55: services[77, "tcp"] = "rje";
56: services[79, "tcp"] = "finger";
57: services[87, "tcp"] = "link";
58: services[95, "tcp"] = "supdup";
59: services[105, "tcp"] = "csnet-ns";
60: services[117, "tcp"] = "uucp-path";
61: services[119, "tcp"] = "untp";
62: services[123, "tcp"] = "ntp";
63: services[161, "udp"] = "snmp";
64: services[162, "udp"] = "snmp-trap";
65: services[199, "tcp"] = "smux";
66: services[1524, "tcp"] = "ingreslock";
67: services[512, "tcp"] = "exec";
68: services[513, "tcp"] = "login";
69: services[514, "tcp"] = "shell";
70: services[515, "tcp"] = "printer";
71: services[530, "tcp"] = "courier";
72: services[512, "udp"] = "biff";
73: services[513, "udp"] = "who";
74: services[514, "udp"] = "syslog";
75: services[517, "udp"] = "talk";
76: services[520, "udp"] = "route";
77: services[550, "udp"] = "new-rwho";
78: services[560, "udp"] = "rmonitor";
79: services[561, "udp"] = "monitor";
80:
81: printf "Active connections%s\n", aflag ? " (including servers)" : "";
82: printf "%-5s %-6s %-6s %-20s %-20s %s\n",
83: "Proto",
84: "Recv-Q",
85: "Send-Q",
86: "Local Address",
87: "Foreign Address",
88: "(state)";
89:
90: hasunix = unixNetstat == 1;
91:
92: didone = 0;
93: for (i in tcpConnState) {
94: didone = 1;
95:
96: if (!aflag && tcpConnLocalAddress == "0.0.0.0")
97: continue;
98:
99: printf "%-5s %6s %6s %-20s %-20s %s\n",
100: "tcp",
101: hasunix ? unixTcpConnRecvQ[i] : "",
102: hasunix ? unixTcpConnSendQ[i] : "",
103: socket("tcp",tcpConnLocalAddress,tcpConnLocalPort),
104: socket("tcp",tcpConnRemAddress,tcpConnRemPort),
105: tt_type(tcpConnState);
106: }
107: if (!didone && DIAGNOSTIC)
108: printf "tcpConnTable: %s\n", DIAGNOSTIC;
109:
110: didone = 0;
111: for (i in udpLocalAddress) {
112: didone = 1;
113:
114: if (!aflag && udpLocalAddress == "0.0.0.0")
115: continue;
116:
117: printf "%-5s %6s %6s %-20s %-20s %s\n",
118: "udp",
119: hasunix ? unixUdpRecvQ[i] : "",
120: hasunix ? unixUdpSendQ[i] : "",
121: socket("udp",udpLocalAddress,udpLocalPort),
122: hasunix ? socket("udp",unixUdpRemAddress[i],unixUdpRemPort[i]) : "",
123: "";
124: }
125: if (!didone && DIAGNOSTIC)
126: printf "udpTable: %s\n", DIAGNOSTIC;
127: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.