Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 4

Series Part 1: https://jaytuckey.name/2021/07/22/trio-tutorial-simple-tcp-chat-program-part-1/ Part 2: https://jaytuckey.name/2021/07/24/trio-tutorial-simple-tcp-chat-program-part-2/ Part 3: https://jaytuckey.name/2021/07/24/trio-tutorial-simple-tcp-chat-program-part-3/ In part 4 we look into making the server handle disconnections without crashing. We also look into how me can make messages quicker to distribute. For this code we use the trio functionality to wait for limited time for a task to complete, by using […]

Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 3

Series Part 1: https://jaytuckey.name/2021/07/22/trio-tutorial-simple-tcp-chat-program-part-1/ Part 2: https://jaytuckey.name/2021/07/24/trio-tutorial-simple-tcp-chat-program-part-2/ In part 3 we build more of the server. We build out the functionality to receive messages, then distribute them to all connected users. For this part we use Trio’s nurseries to start up new running tasks: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning We use the nursery.start_soon() function to kick off new tasks […]

Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 2

Series Part 1: https://jaytuckey.name/2021/07/22/trio-tutorial-simple-tcp-chat-program-part-1/ In part 2 we look at making a tool to assist with testing the TCP server we are building: We use the built-in python socket library in the testclient: https://docs.python.org/3/library/socket.html Got any questions? Contact me: https://jaytuckey.name/about/

Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 1

I’ve made a video about making a simple TCP-based program using Python and Trio. The video is here: https://www.youtube.com/watch?v=6JM1hgjLV-A The features I plan to build are: each user has a long running tcp connection user is asked for name on connection user sends message each other connected user receives the message In part 1 we […]

Categories
Linux Networking Systems Administration

Importing a LetsEncrypt Certificate Generated by acme.sh into a Fortigate Firewall Using CLI

These are some tips I’ve put together on how to create a certificate using acme.sh then import it into a FortiGate firewall for use on the SSL-VPN or similar. Getting the Certificate and Key file I won’t go into too much detail on this – just use the acme.sh documentation to get a key+certificate: https://acme.sh […]

Categories
Linux Networking Programming Systems Administration

A Logwatcher Tool to Trigger Integrations After Changes in phpIPAM

We use phpIPAM to manage all our IP Addresses, and we have recently built integrations between phpIPAM and our Kea DHCP server for reservations, and also into our BIND DNS server. These have been running on a schedule, which has worked well, but doing it that way means that it can take a while after […]

Categories
Linux Networking Programming

Sending an email via Microsoft O365 SMTP Servers using Python

This is a simple script to send an email via MS’s O365 Service: Note how you need to set up an SSL context and perform .starttls() to properly create a secure connection.

Categories
Linux Networking Systems Administration

A script to bring Cisco Switch VLAN data into phpIPAM

We have recently set up an IPAM at my workplace, the excellent phpIPAM – https://phpipam.net/ I went through our install and added all our subnets into the IPAM, but to make the data much more useful we wanted to have the VLAN information also: However, I didn’t want to go through by hand, adding each […]

Categories
Linux Networking Uncategorized

How Websites Load – A deep dive into the IP network stack and how it is used to connect to a site

I’ve made a series of videos exploring the Internet Protocol Suite, and how it is used to make a connection to a website. It’s a deep dive into the stack, explaining all the way down to the ethernet frames that a computer sends on the local link.

Categories
Linux Networking Systems Administration

A script to scan a network range and create Kea DHCP reservations for devices it finds

This script is very simple. It will scan a network range attached to the device it is run from, and will turn what it finds into a list of reservations for the Kea dhcp server – https://kea.readthedocs.io/ You run it something like this, giving it a network range to scan. Then network should be a […]