serv/README.md

95 lines
2.7 KiB
Markdown

# Overview
Script to manage custom /etc/services entries.
# Usage
Show usage
rpearce@crom:serv$ ./serv.sh -h
usage: ./serv.sh [OPTIONS] command [command_args]
Manage custom /etc/services entries.
Valid commands are: diff sync init add del query cat
-f Force removal of service even if multiple match.
-w Update system services file (/etc/services)
-y Same as -w
Create working area in ~/.serv/
rpearce@crom:serv$ ./serv.sh init
Initialisation of /Users/rpearce/.serv complete.
Add a custom service
rpearce@crom:serv$ ./serv.sh add myservice 34777/udp
Added 'myservice' (34777/udp) to custom services file.
NOTE: /etc/services not touched - use -w to update it.
The following changes were NOT made:
13921a13922,13924
>
> # custom services from serv.sh
> myservice 34777/udp
Look up a custom service
rpearce@crom:serv$ ./serv.sh query myservice
Found in custom services file:
myservice 34777/udp
Update system /etc/services with custom services
rpearce@crom:serv$ ./serv.sh -w sync
(using sudo - you may be prompted for your password)
Password:
/etc/services updated:
13921a13922,13924
>
> # custom services from serv.sh
> myservice 34777/udp
rpearce@crom:serv$ tail -5 /etc/services
# 48557-49150 Unassigned
# 49151 IANA Reserved
# custom services from serv.sh
myservice 34777/udp
rpearce@crom:serv$
Confirm updates are working
rpearce@crom:serv$ sudo tcpdump -i lo0 port 34777 &
[1] 54039
rpearce@crom:serv$ nc -v -u 127.0.0.1 34777
10:28:38.061303 IP localhost.58916 > localhost.myservice: UDP, length 1
10:28:38.061314 IP localhost.58916 > localhost.myservice: UDP, length 1
10:28:38.061318 IP localhost.58916 > localhost.myservice: UDP, length 1
10:28:38.061323 IP localhost.58916 > localhost.myservice: UDP, length 1
Connection to 127.0.0.1 port 34777 [udp/myservice] succeeded!
rpearce@crom:serv$ sudo kill 54039
4 packets captured
178 packets
rpearce@crom:serv$
Remove a custom service, and also update /etc/services
rpearce@crom:serv$ ./serv.sh -w rm myservice
Removed 'myservice' from custom services file (1 line).
(using sudo - you may be prompted for your password)
/etc/services updated:
13924d13923
< myservice 34777/udp
rpearce@crom:serv$ tail -5 /etc/services
com-bardac-dw 48556/udp # com-bardac-dw
com-bardac-dw 48556/tcp # com-bardac-dw
# Nicholas J Howes <nick@ghostwood.org>
# 48557-49150 Unassigned
# 49151 IANA Reserved
rpearce@crom:serv$