{"id":26383,"date":"2016-08-30T10:31:40","date_gmt":"2016-08-30T08:31:40","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=26383"},"modified":"2016-08-30T10:31:40","modified_gmt":"2016-08-30T08:31:40","slug":"troubleshooting-with-devtcp-and-devudp","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/","title":{"rendered":"Troubleshooting with \/dev\/tcp and \/dev\/udp"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. \u00a0You don&#8217;t have <em>netcat<\/em>, <em>telnet<\/em>, and your other usual tools. \u00a0For the sake of the example, imagine that even <em>curl<\/em> and <em>wget<\/em> are missing. \u00a0What do you do?<\/p>\n<p>Well, apparently, there is a way to do this with plain old bash. \u00a0A way, which I didn&#8217;t know until today. \u00a0You can do this with \/dev\/tcp and \/dev\/udp. Here is <a href=\"http:\/\/tldp.org\/LDP\/abs\/html\/devref1.html#DEVTCP\">an example<\/a> verbatim from the <a href=\"http:\/\/tldp.org\/LDP\/abs\/html\/\">Advanced Bash-Scripting Guide<\/a>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n#!\/bin\/bash\r\n# dev-tcp.sh: \/dev\/tcp redirection to check Internet connection.\r\n\r\n# Script by Troy Engel.\r\n# Used with permission.\r\n \r\nTCP_HOST=news-15.net       # A known spam-friendly ISP.\r\nTCP_PORT=80                # Port 80 is http.\r\n  \r\n# Try to connect. (Somewhat similar to a 'ping' . . .) \r\necho &quot;HEAD \/ HTTP\/1.0&quot; &gt;\/dev\/tcp\/${TCP_HOST}\/${TCP_PORT}\r\nMYEXIT=$?\r\n\r\n: &lt;&lt;EXPLANATION If bash was compiled with --enable-net-redirections, it has the capability of using a special character device for both TCP and UDP redirections. These redirections are used identically as STDIN\/STDOUT\/STDERR. The device entries are 30,36 for \/dev\/tcp: mknod \/dev\/tcp c 30 36 &gt;From the bash reference:\r\n\/dev\/tcp\/host\/port\r\n    If host is a valid hostname or Internet address, and port is an integer\r\nport number or service name, Bash attempts to open a TCP connection to the\r\ncorresponding socket.\r\nEXPLANATION\r\n\r\n   \r\nif &#x5B; &quot;X$MYEXIT&quot; = &quot;X0&quot; ]; then\r\n  echo &quot;Connection successful. Exit code: $MYEXIT&quot;\r\nelse\r\n  echo &quot;Connection unsuccessful. Exit code: $MYEXIT&quot;\r\nfi\r\n\r\nexit $MYEXIT\r\n<\/pre>\n<p>&nbsp;<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. \u00a0You don&#8217;t have netcat, telnet, and your other usual tools. \u00a0For the sake of the example, imagine that even curl and wget are missing. \u00a0What do you do? Well, apparently, there is a &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Troubleshooting with \/dev\/tcp and \/dev\/udp<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Troubleshooting with \/dev\/tcp and \/dev\/udp #Linux #SysAdmin #networks #bash","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,6,133,62],"tags":[3098,1960,281],"keyring_services":[],"class_list":["post-26383","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-sysadmin","category-technology","tag-bash","tag-command-line","tag-networks"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don&#039;t have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Troubleshooting with \/dev\/tcp and \/dev\/udp - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don&#039;t have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-08-30T08:31:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-08-30T08:31:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Troubleshooting with \/dev\/tcp and \/dev\/udp - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don&#039;t have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#blogposting\",\"name\":\"Troubleshooting with \\\/dev\\\/tcp and \\\/dev\\\/udp - Leonid Mamchenkov\",\"headline\":\"Troubleshooting with \\\/dev\\\/tcp and \\\/dev\\\/udp\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2016-08-30T10:31:40+02:00\",\"dateModified\":\"2016-08-30T10:31:40+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":5,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#webpage\"},\"articleSection\":\"All, Linux, Sysadmin, Technology, bash, command line, networks\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"name\":\"Linux\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"position\":3,\"name\":\"Linux\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#listItem\",\"name\":\"Troubleshooting with \\\/dev\\\/tcp and \\\/dev\\\/udp\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#listItem\",\"position\":4,\"name\":\"Troubleshooting with \\\/dev\\\/tcp and \\\/dev\\\/udp\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"name\":\"Linux\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/\",\"name\":\"Troubleshooting with \\\/dev\\\/tcp and \\\/dev\\\/udp - Leonid Mamchenkov\",\"description\":\"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don't have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2016\\\/08\\\/30\\\/troubleshooting-with-devtcp-and-devudp\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2016-08-30T10:31:40+02:00\",\"dateModified\":\"2016-08-30T10:31:40+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Troubleshooting with \/dev\/tcp and \/dev\/udp - Leonid Mamchenkov","description":"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don't have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#blogposting","name":"Troubleshooting with \/dev\/tcp and \/dev\/udp - Leonid Mamchenkov","headline":"Troubleshooting with \/dev\/tcp and \/dev\/udp","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2016-08-30T10:31:40+02:00","dateModified":"2016-08-30T10:31:40+02:00","inLanguage":"en-US","commentCount":5,"mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#webpage"},"articleSection":"All, Linux, Sysadmin, Technology, bash, command line, networks"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","name":"Linux"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","position":3,"name":"Linux","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#listItem","name":"Troubleshooting with \/dev\/tcp and \/dev\/udp"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#listItem","position":4,"name":"Troubleshooting with \/dev\/tcp and \/dev\/udp","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","name":"Linux"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/","name":"Troubleshooting with \/dev\/tcp and \/dev\/udp - Leonid Mamchenkov","description":"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don't have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2016-08-30T10:31:40+02:00","dateModified":"2016-08-30T10:31:40+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Troubleshooting with \/dev\/tcp and \/dev\/udp - Leonid Mamchenkov","og:description":"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don't have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a","og:url":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2016-08-30T08:31:40+00:00","article:modified_time":"2016-08-30T08:31:40+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Troubleshooting with \/dev\/tcp and \/dev\/udp - Leonid Mamchenkov","twitter:description":"Imagine you are on a freshly installed Linux machine with the minimal set of packages, and you need to test network connectivity. You don't have netcat, telnet, and your other usual tools. For the sake of the example, imagine that even curl and wget are missing. What do you do? Well, apparently, there is a","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"26383","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 08:57:50","updated":"2026-01-15 12:21:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/\" title=\"Linux\">Linux<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tTroubleshooting with \/dev\/tcp and \/dev\/udp\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Linux","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/"},{"label":"Troubleshooting with \/dev\/tcp and \/dev\/udp","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/30\/troubleshooting-with-devtcp-and-devudp\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":27447,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/22\/bulletproof-bash-stop-script-on-error\/","url_meta":{"origin":26383,"position":0},"title":"Bulletproof Bash : Stop script on error","author":"Leonid Mamchenkov","date":"March 22, 2017","format":false,"excerpt":"The other day I've been puzzled by the results of a cron job script. \u00a0The bash script in question was written in a hurry a while back, and I was under the assumption that if any of its steps fail, the whole script will fail. \u00a0I was wrong. \u00a0Some commands\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":25024,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/08\/linux-performance-analysis-in-60000-milliseconds\/","url_meta":{"origin":26383,"position":1},"title":"Linux Performance Analysis in 60,000 Milliseconds","author":"Leonid Mamchenkov","date":"December 8, 2015","format":false,"excerpt":"Netflix shares the process they use to quickly assess performance issues on a Linux machine. \u00a0With these commands you can get a good idea of what's going on within about 60 seconds: uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18411,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/06\/28\/google-adds-quic-protocol-to-latest-chrome-build-delivering-http-over-udp\/","url_meta":{"origin":26383,"position":2},"title":"Google adds QUIC protocol to latest Chrome build, delivering HTTP over UDP","author":"Leonid Mamchenkov","date":"June 28, 2013","format":"link","excerpt":"Google adds QUIC protocol to latest Chrome build, delivering HTTP over UDP Here are the QUIC highlights Google wants to emphasize right now: High security similar to TLS. Fast (often 0-RTT) connectivity similar to TLS Snapstart combined with TCP Fast Open. Packet pacing to reduce packet loss. Packet error correction\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":25030,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/10\/weird-php-error-output-bug\/","url_meta":{"origin":26383,"position":3},"title":"Weird PHP error output bug","author":"Leonid Mamchenkov","date":"December 10, 2015","format":false,"excerpt":"We came across this PHP bug at work today. \u00a0But before you go and read it, let me show you a use case. \u00a0See, if you can spot the problem. We had a cron job script which looked something like this (shortened for clarity): [code lang=\"bash\"] #!\/bin\/bash # ... a\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":16720,"url":"https:\/\/mamchenkov.net\/wordpress\/2012\/09\/18\/bash-redirections-cheat-sheet\/","url_meta":{"origin":26383,"position":4},"title":"Bash Redirections Cheat Sheet","author":"Leonid Mamchenkov","date":"September 18, 2012","format":"link","excerpt":"Bash Redirections Cheat Sheet Even the experienced bash users will probably find a couple of new things in this cheat sheet.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26297,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/07\/28\/exporting-messages-from-gmail-with-fetchmail-and-procmail\/","url_meta":{"origin":26383,"position":5},"title":"Exporting messages from Gmail with fetchmail and procmail","author":"Leonid Mamchenkov","date":"July 28, 2016","format":false,"excerpt":"One of the projects that I am involved in has a requirement of importing all the historical emails from a number of Gmail accounts into another system. \u00a0It's not the most challenging of tasks, but since I spent a bit of time on it, I figured I should blog it\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=26383"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26383\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=26383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=26383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=26383"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=26383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}