mirror of
https://github.com/safing/portmaster
synced 2025-09-01 10:09:11 +00:00
78 lines
1.4 KiB
Go
78 lines
1.4 KiB
Go
package reference
|
|
|
|
import (
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
var (
|
|
portNames = map[uint16]string{
|
|
20: "FTP-DATA",
|
|
21: "FTP",
|
|
22: "SSH",
|
|
23: "TELNET",
|
|
25: "SMTP",
|
|
43: "WHOIS",
|
|
53: "DNS",
|
|
67: "DHCP-SERVER",
|
|
68: "DHCP-CLIENT",
|
|
69: "TFTP",
|
|
80: "HTTP",
|
|
110: "POP3",
|
|
123: "NTP",
|
|
143: "IMAP",
|
|
161: "SNMP",
|
|
179: "BGP",
|
|
194: "IRC",
|
|
389: "LDAP",
|
|
443: "HTTPS",
|
|
587: "SMTP-ALT",
|
|
465: "SMTP-SSL",
|
|
993: "IMAP-SSL",
|
|
995: "POP3-SSL",
|
|
}
|
|
|
|
portNumbers = map[string]uint16{
|
|
"FTP-DATA": 20,
|
|
"FTP": 21,
|
|
"SSH": 22,
|
|
"TELNET": 23,
|
|
"SMTP": 25,
|
|
"WHOIS": 43,
|
|
"DNS": 53,
|
|
"DHCP-SERVER": 67,
|
|
"DHCP-CLIENT": 68,
|
|
"TFTP": 69,
|
|
"HTTP": 80,
|
|
"POP3": 110,
|
|
"NTP": 123,
|
|
"IMAP": 143,
|
|
"SNMP": 161,
|
|
"BGP": 179,
|
|
"IRC": 194,
|
|
"LDAP": 389,
|
|
"HTTPS": 443,
|
|
"SMTP-ALT": 587,
|
|
"SMTP-SSL": 465,
|
|
"IMAP-SSL": 993,
|
|
"POP3-SSL": 995,
|
|
}
|
|
)
|
|
|
|
// GetPortName returns the name of a port number.
|
|
func GetPortName(port uint16) (name string) {
|
|
name, ok := portNames[port]
|
|
if ok {
|
|
return name
|
|
}
|
|
return strconv.Itoa(int(port))
|
|
}
|
|
|
|
// GetPortNumber returns the number of a port name.
|
|
func GetPortNumber(port string) (number uint16, ok bool) {
|
|
number, ok = portNumbers[strings.ToUpper(port)]
|
|
if ok {
|
|
return number, true
|
|
}
|
|
return 0, false
|
|
}
|