Executing Network Commands Through Java


Executing Network Commands Through Java

import java.util.*;
import java.io.*;

class CommandExec
{
	public static void main(String args[])throws Exception
	{
	Scanner sc=new Scanner(System.in);  
	Runtime run =Runtime.getRuntime();
	boolean val=true;
	while(val)
		{
		System.out.print("Pratik_Roy_terminal => Enter Command:  ");
		String st = sc.nextLine();
		if(st.equals("goodbye"))
			break;
		Process p= run.exec(st);
		InputStreamReader is=new InputStreamReader(p.getInputStream());
		BufferedReader input=new BufferedReader(is);
		String result;
		while((result=input.readLine())!=null)
			System.out.println(result+"\n");
		}
	}
}



Output:

$ javac CommandExec.java
$ java CommandExec

Rakesh_Paul _terminal => Enter Command:  ping -w 2 localhost

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.012 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.038 ms
64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.036 ms

--- localhost ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 1999ms

rtt min/avg/max/mdev = 0.012/0.028/0.038/0.013 ms


Rakesh_Paul_terminal => Enter Command:  ifconfig

eth0      Link encap:Ethernet  HWaddr ec:b1:d7:3b:ac:2f  

          inet addr:10.10.141.23  Bcast:10.10.141.255  Mask:255.255.255.0

          inet6 addr: fe80::eeb1:d7ff:fe3b:ac2f/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:72369 errors:0 dropped:448 overruns:0 frame:0

          TX packets:8718 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:22305566 (22.3 MB)  TX bytes:982881 (982.8 KB)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:723 errors:0 dropped:0 overruns:0 frame:0

          TX packets:723 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:66126 (66.1 KB)  TX bytes:66126 (66.1 KB)


Rakesh_Paul _terminal => Enter Command:  goodbye


$


Share:

0 comments