I was developing a port scanning exercise for RIT's Competitive Cybersecurity Club (RC3) a few weeks ago and I thought it would be neat to develop a tool to fake services on the fly. Out of this came fakesrv.py, which allows you to specify a protocol, port, and message or file to spit back when someone connects.
./fakesrv.py -t -p 1337 -m "This is a TCP server listening on port 1337!" ./fakesrv.py -u -p 12345 -m "This is a UDP server listening on port 12345!" ./fakesrv.py -t -p 31337 -f /etc/passwd
Quick, easy, and fun.
Check it out: https://github.com/jgeigerm/fakesrv