Pokud bychom chtěli upřesnit příspěvek ewanm89, TeamViewer používá UDP pinholeing.
UDP je bezstavový protokol. To znamená, že pakety jsou vystřeleny na svůj cíl bez ověření (na úrovni protokolu), že byly přijaty nebo že vůbec dosáhly cíle. Firewally jsou navrženy tak, aby vyhledávaly pakety UDP a zaznamenávaly zdroj a cíl a také časovou značku. Pokud vidí příchozí paket, který se shoduje s odchozím paketem, zpravidla jej propustí i bez konkrétního pravidla v seznamu přístupů brány firewall. U zařízení podnikové třídy to lze zablokovat, ale obecně platí, že 90 % firewallů zpětný provoz povolí.
Pro připnutí díry má váš počítač (prohlížeč) připojení TCP zpět k hlavnímu serveru TeamViewer. Cílový stroj (klient) má také připojení TCP k hlavnímu serveru TeamViewer. Po stisknutí tlačítka připojit váš stroj sdělí hlavnímu serveru svůj záměr. Hlavní server vám poté sdělí IP adresu klientského počítače. Váš stroj pak začne na klienta vysílat pakety UDP. Klientovi je signalizováno, že se hodláte připojit, a je mu předána vaše IP adresa. Klient na vás také začne vysílat pakety UDP.
Pokud jsou firewally „P2P-friendly“, způsobí to, že oba firewally (váš i klientův) provoz povolí, a tím „proděraví“ firewall. Konkrétně to vyžaduje, aby firewally neměnily veřejný port odchozího paketu jen proto, že se změnil jeho cíl; firewall musí znovu použít stejný veřejný port, pokud se nezměnil zdroj paketu. Pokud se vaše brány firewall takto přátelsky nechovají, nebude to fungovat. Mnoho firewallů se však takto chová.
Společnost TeamViewer samozřejmě přidává určité zabezpečení tím, že provádí kontrolu PIN/hesla předtím, než hlavní server odešle informace o IP oběma stranám, ale chápete, o co jde.