<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Netcat on inetshell</title><link>https://inet.sh/en/tags/netcat/</link><description>Recent content in Netcat on inetshell</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 20 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://inet.sh/en/tags/netcat/index.xml" rel="self" type="application/rss+xml"/><item><title>Netcat equivalent on Windows: Test-NetConnection</title><link>https://inet.sh/en/posts/windows/netcat-equivalent/</link><pubDate>Thu, 20 Aug 2026 00:00:00 +0000</pubDate><guid>https://inet.sh/en/posts/windows/netcat-equivalent/</guid><description>The Windows equivalent of nc -v host port is Test-NetConnection (tnc): it tests whether a TCP port accepts a connection. TcpTestSucceeded True/False.</description><content:encoded><![CDATA[<h2 id="tldr">TL;DR</h2>
<p>No <code>nc</code> on Windows: <code>Test-NetConnection -ComputerName host -Port port</code>. Check <code>TcpTestSucceeded</code>.</p>
<p>On Linux the reflex for “is 1433 open?” is:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">nc -v 10.1.1.1 <span class="m">1433</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><strong>Windows</strong> does not ship <code>nc</code>. The closest PowerShell equivalent is a TCP connect test:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="nb">Test-NetConnection</span> <span class="n">-ComputerName</span> <span class="mf">10.1</span><span class="p">.</span><span class="py">1</span><span class="p">.</span><span class="py">1</span> <span class="n">-Port</span> <span class="mf">1433</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Short alias:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">tnc</span> <span class="mf">10.1</span><span class="p">.</span><span class="py">1</span><span class="p">.</span><span class="py">1</span> <span class="n">-Port</span> <span class="mf">1433</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="what-to-look-at">What to look at</h2>
<p><code>TcpTestSucceeded</code>:</p>
<table>
  <thead>
      <tr>
          <th>Value</th>
          <th>Meaning</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>True</code></td>
          <td>Port is open and answering (same as <code>nc</code> connecting)</td>
      </tr>
      <tr>
          <td><code>False</code></td>
          <td>No connection (firewall, dead service, unreachable IP)</td>
      </tr>
  </tbody>
</table>
<p>More detail, closer to <code>nc -v</code>:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="nb">Test-NetConnection</span> <span class="n">-ComputerName</span> <span class="mf">10.1</span><span class="p">.</span><span class="py">1</span><span class="p">.</span><span class="py">1</span> <span class="n">-Port</span> <span class="mf">1433</span> <span class="n">-InformationLevel</span> <span class="n">Detailed</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="port-only-no-ping">Port only, no ping</h2>
<p><code>Test-NetConnection</code> also pings by default. TCP only:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="nb">Test-NetConnection</span> <span class="n">-ComputerName</span> <span class="mf">10.254</span><span class="p">.</span><span class="py">3</span><span class="p">.</span><span class="py">2</span> <span class="n">-Port</span> <span class="mf">1433</span> <span class="n">-WarningAction</span> <span class="n">SilentlyContinue</span> <span class="p">|</span>
</span></span><span class="line"><span class="cl">  <span class="nb">Select-Object</span> <span class="n">ComputerName</span><span class="p">,</span> <span class="n">RemoteAddress</span><span class="p">,</span> <span class="n">RemotePort</span><span class="p">,</span> <span class="n">TcpTestSucceeded</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="very-old-powershell">Very old PowerShell</h2>
<p>If <code>Test-NetConnection</code> is missing, use the .NET TCP client:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="nv">$tcp</span> <span class="p">=</span> <span class="nb">New-Object</span> <span class="n">System</span><span class="p">.</span><span class="py">Net</span><span class="p">.</span><span class="py">Sockets</span><span class="p">.</span><span class="py">TcpClient</span>
</span></span><span class="line"><span class="cl"><span class="k">try</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nv">$tcp</span><span class="p">.</span><span class="py">Connect</span><span class="p">(</span><span class="s2">&#34;10.254.3.2&#34;</span><span class="p">,</span> <span class="mf">1433</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">Write-Host</span> <span class="s2">&#34;Connected to 10.254.3.2:1433&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span> <span class="k">catch</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nb">Write-Host</span> <span class="s2">&#34;Failed: </span><span class="p">$(</span><span class="nv">$_</span><span class="p">.</span><span class="py">Exception</span><span class="p">.</span><span class="n">Message</span><span class="p">)</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span> <span class="k">finally</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nv">$tcp</span><span class="p">.</span><span class="py">Close</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded></item></channel></rss>