{"id":1538,"date":"2012-08-25T12:51:33","date_gmt":"2012-08-25T10:51:33","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1538"},"modified":"2012-08-25T12:51:33","modified_gmt":"2012-08-25T10:51:33","slug":"snippet-netstat-in-java-with-command-line-call","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2012\/08\/snippet-netstat-in-java-with-command-line-call\/","title":{"rendered":"Snippet: NETSTAT in Java with command line call"},"content":{"rendered":"<pre class=\"csharpcode\">import java.io.IOException;\nimport java.util.*;\nimport java.util.regex.Pattern;\n\n<span class=\"kwrd\">public<\/span> <span class=\"kwrd\">class<\/span> Netstat\n{\n  <span class=\"kwrd\">public<\/span> <span class=\"kwrd\">static<\/span> <span class=\"kwrd\">class<\/span> Protocoll\n  {\n    <span class=\"kwrd\">public<\/span> String protocoll;\n    <span class=\"kwrd\">public<\/span> String localAddress;\n    <span class=\"kwrd\">public<\/span> String remoteAddress;\n    <span class=\"kwrd\">public<\/span> String status;\n\n    <span class=\"kwrd\">public<\/span> Protocoll( String protocoll, String localAddress, String remoteAddress, String status )\n    {\n      <span class=\"kwrd\">this<\/span>.protocoll = protocoll;\n      <span class=\"kwrd\">this<\/span>.localAddress = localAddress;\n      <span class=\"kwrd\">this<\/span>.remoteAddress = remoteAddress;\n      <span class=\"kwrd\">this<\/span>.status = status;\n    }\n\n    @Override\n    <span class=\"kwrd\">public<\/span> String toString()\n    {\n      <span class=\"kwrd\">return<\/span> String.format( <span class=\"str\">&quot;%-6s %-22s %-22s %s&quot;<\/span>, protocoll, localAddress, remoteAddress, status );\n    }\n  }\n\n  <span class=\"kwrd\">public<\/span> <span class=\"kwrd\">static<\/span> <span class=\"kwrd\">void<\/span> main( String[] args ) throws IOException\n  {\n    <span class=\"kwrd\">for<\/span> ( Protocoll p : netStat() )\n      System.<span class=\"kwrd\">out<\/span>.println( p );\n  }\n\n  <span class=\"kwrd\">public<\/span> <span class=\"kwrd\">static<\/span> Iterable&lt;Protocoll&gt; netStat() throws IOException\n  {\n    Collection&lt;Protocoll&gt; result = <span class=\"kwrd\">new<\/span> ArrayList&lt;&gt;();\n    ProcessBuilder builder = <span class=\"kwrd\">new<\/span> ProcessBuilder( <span class=\"str\">&quot;netstat&quot;<\/span>, <span class=\"str\">&quot;-n&quot;<\/span> );\n    Process p = builder.start();\n    <span class=\"kwrd\">try<\/span> ( Scanner scanner = <span class=\"kwrd\">new<\/span> Scanner( p.getInputStream() ) ) {\n      Pattern pattern = Pattern.compile( <span class=\"str\">&quot;(TCP|UDP)\\\\s+(\\\\S+)\\\\s+(\\\\S+)\\\\s+(\\\\S+)&quot;<\/span> );\n      <span class=\"kwrd\">while<\/span> ( scanner.findWithinHorizon( pattern, 0 ) != <span class=\"kwrd\">null<\/span> )\n        result.add( <span class=\"kwrd\">new<\/span> Protocoll( scanner.match().group( 1 ), scanner.match().group( 2 ), scanner.match().group( 3 ), scanner.match().group( 4 ) ) );\n    }\n    <span class=\"kwrd\">return<\/span> result;\n  }\n}<\/pre>\n<style type=\"text\/css\">\n<p>.csharpcode, .csharpcode pre\n{\n\tfont-size: small;\n\tcolor: black;\n\tfont-family: consolas, \"Courier New\", courier, monospace;\n\tbackground-color: #ffffff;\n\t\/*white-space: pre;*\/\n}\n.csharpcode pre { margin: 0em; }\n.csharpcode .rem { color: #008000; }\n.csharpcode .kwrd { color: #0000ff; }\n.csharpcode .str { color: #006080; }\n.csharpcode .op { color: #0000c0; }\n.csharpcode .preproc { color: #cc6633; }\n.csharpcode .asp { background-color: #ffff00; }\n.csharpcode .html { color: #800000; }\n.csharpcode .attr { color: #ff0000; }\n.csharpcode .alt \n{\n\tbackground-color: #f4f4f4;\n\twidth: 100%;\n\tmargin: 0em;\n}\n.csharpcode .lnum { color: #606060; }<\/style>\n<p>This leads to something like<\/p>\n<p>TCP&#160;&#160;&#160; 127.0.0.1:16709&#160;&#160;&#160;&#160;&#160;&#160;&#160; 127.0.0.1:49159&#160;&#160;&#160;&#160;&#160;&#160;&#160; HERGESTELLT<br \/>\n  <br \/>TCP&#160;&#160;&#160; 127.0.0.1:19872&#160;&#160;&#160;&#160;&#160;&#160;&#160; 127.0.0.1:49176&#160;&#160;&#160;&#160;&#160;&#160;&#160; HERGESTELLT <\/p>\n<p>TCP&#160;&#160;&#160; 127.0.0.1:49159&#160;&#160;&#160;&#160;&#160;&#160;&#160; 127.0.0.1:16709&#160;&#160;&#160;&#160;&#160;&#160;&#160; HERGESTELLT <\/p>\n<p>TCP&#160;&#160;&#160; 127.0.0.1:49176&#160;&#160;&#160;&#160;&#160;&#160;&#160; 127.0.0.1:19872&#160;&#160;&#160;&#160;&#160;&#160;&#160; HERGESTELLT <\/p>\n<p>TCP&#160;&#160;&#160; 127.0.0.1:49189&#160;&#160;&#160;&#160;&#160;&#160;&#160; 127.0.0.1:49190&#160;&#160;&#160;&#160;&#160;&#160;&#160; HERGESTELLT <\/p>\n<p>TCP&#160;&#160;&#160; 127.0.0.1:49190&#160;&#160;&#160;&#160;&#160;&#160;&#160; 127.0.0.1:49189&#160;&#160;&#160;&#160;&#160;&#160;&#160; HERGESTELLT<\/p>\n","protected":false},"excerpt":{"rendered":"<p>import java.io.IOException; import java.util.*; import java.util.regex.Pattern; public class Netstat { public static class Protocoll { public String protocoll; public String localAddress; public String remoteAddress; public String status; public Protocoll( String protocoll, String localAddress, String remoteAddress, String status ) { this.protocoll = protocoll; this.localAddress = localAddress; this.remoteAddress = remoteAddress; this.status = status; } @Override public String [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[68],"tags":[],"class_list":["post-1538","post","type-post","status-publish","format-standard","hentry","category-snippet"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=1538"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1538\/revisions"}],"predecessor-version":[{"id":1539,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1538\/revisions\/1539"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}