|
|
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.