Networking For Developers: How To Fix Bugs Faster
.. #format rst
.. * mode: rst *
This course covers network tools and troubleshooting from the perspective of software developers. The focus is using traditional network troubleshooting tools to identify problems with both software and network layers.
Overview
====
Summary———-
Every developer depends on several layers of networking infrastructure to connect components. This course shows developers how to understand and identify network problems to better themselves as software makers. Students will learn both to discover their own programming bugs by analyzing network activity, and to identify network problems outside of one’s control, for example, routing or name resolution errors. This course is compatible with all programming languages and operating systems.
Prerequisites——————-
Before taking this course, students should be able to define the following terms: packet, IP address, TCP, UDP, TCP port, HTTP, SSL, switch, router, proxy
Objectives—————
#. Understand the relationship between application development and network infrastructure.
#. Understand and identify the common failure modes of a TCP/IP connection.
#. Identify network and application errors using built-in tools from the operating system.
#. Identify network and application errors using open source tools.
#. Filter and identify network traffic using Wireshark.
#. Debug web errors by analyzing the HTTP protocol.
.. See also: NetworkTrainingNotes_
Schedule
============
Day 1
Networking Topics: Networking from a developer’s perspective; common failure points in network infrastructure;
Day 2
Troubleshooting with Built-In Tools: Addressing LAN, routing, system services, name resolution, TCP
Day 3
Troubleshooting with Open Source Tools: Network capture; filtering; HTTP debugging; service scanning; building custom packets; SSL
Day 4
The Real World from the Bottom Up: Solving real-world problems with these new tools and techniques
