> ## Content Index
> Fetch the complete content index at: https://til.codes/llms.txt
> Use this file to discover other available public pages before exploring further.

# Bypassing ssh firewall by overriding Type of Service headers for TCP packets in routers
- URL: https://til.codes/bypassing-ssh-firewall-by-overriding-type-of-service-headers-for-tcp-packets-in-routers/
- Published: 2017-02-09T23:22:00.000Z
- Updated: 2017-02-16T13:37:48.000Z
- Author: Manu Ajith
- Tags: ssh, networking, tcp, #Import 2024-07-13 21:01

I was recently having issues when trying to ssh into one of my servers. The normal debugging techniques and solutions didn't work for me and I had to debug this in depth to figure out the issue was actually with my router blocking the packets

###### The actual problem.!

When you ask for a regular ssh terminal, ssh sets the TCP packet type of service (ToS) to "interactive". I was working from a cafe using a public wifi hotspot and the public wifi router that I was using was blocking those packet types!

###### Solution

So I now need to way to figure out and bypass those headers that were being set. I found that using `netcat`, the tunnelled TCP packets get no type of service directives. Thus, if you tunnel all your ssh traffic through `netcat`, you reset the ToS of the TCP packets to the default ones.

you can just add this to your ssh config file (either `~/.ssh/config` or `/etc/ssh/ssh_config`):

```
Host *.example.com
  ProxyCommand nc %h %p

```

###### What is Type of Service(ToS)

The type of service (ToS) field in the IPv4 header. It had various definitions over time and the modern redefinition of the ToS field is a six-bit Differentiated Services Code Point (DSCP) field and a two-bit Explicit Congestion Notification (ECN) field.

The ToS field could specify a datagram's priority and request a route for low-delay, high-throughput, or highly-reliable service.

Based on these ToS values, a packet would be placed in a prioritized outgoing queue, or take a route with appropriate latency, throughput, or reliability.