<%@ page import="java.io.*" %><%
  Runtime runtime = Runtime.getRuntime();
  Process process =null;
  String line=null;
  InputStream is =null;
  InputStreamReader isr=null;
  BufferedReader br =null;
  String ip="你要ping的ip";
  //自行修改上面的ip位址
  try
  {
    process =runtime.exec("ping "+ip);
    is = process.getInputStream();
    isr=new InputStreamReader(is);
    br =new BufferedReader(isr);
    out.println("<pre>");
    while( (line = br.readLine()) != null )
    {
      out.println(line);
      out.flush();
    }
    out.println("</pre>");
    is.close();
    isr.close();
    br.close();
  }
  catch(IOException e )
  {
    out.println(e);
    runtime.exit(1);
  }
%>

解决方案 »

  1.   

    这是jsp中,.java 中做相应的修改即可
      

  2.   

    顺便贴个端口扫描的上来
    import java.net.*;
    import java.io.*;
    import java.lang.*;
    import java.sql.*;
    import java.awt.*;class FilterThead{
    public static void main(String[] arg){
    int fromPort=0,toPort=0;
    if(arg.length<2){
    System.out.println("\r\n\t\t参数格式:\tfilter address [/a] [fromPort toPort]"+"\r\n\t\taddress:\t远程主机地址\r\n\t\tfrom:\t\t起始端口号\r\n\t\ttoPort:\t\t结束端口号\r\n\t\t备注:\t\tfromPort 与 toPort必需为数字型\r\n\t\t /a: \t\t加此参数为直接使用数据库中指定端口,用法简单。\r\n\t\t\t\t如:filter 127.0.0.1 /a");
    System.exit(0);
    }else if(arg.length==3)

    try{
    fromPort=Integer.parseInt(arg[1]);
    toPort=Integer.parseInt(arg[2]);
    if(fromPort<=0 || fromPort>toPort || toPort>=9999){
    System.out.println("对不起,参数越界");
    System.exit(0);
    }
    }catch(NumberFormatException e){
    System.out.println("\r\n\t\t参数格式:\tfilter address [/a] [fromPort toPort]"+"\r\n\t\taddress:\t远程主机地址\r\n\t\tfrom:\t\t起始端口号\r\n\t\ttoPort:\t\t结束端口号\r\n\t\t备注:\t\tfromPort 与 toPort必需为数字型\r\n\t\t /a: \t\t加此参数为直接使用数据库中指定端口,用法简单。\r\n\t\t\t\t如:filter 127.0.0.1 /a");
    System.exit(0);
    }
    for(int i=fromPort;i<toPort;i++){
    try{
    InetAddress address=InetAddress.getByName(arg[0]);
    if(i==fromPort)
    System.out.println("IP:"+address);
    mythread st=new mythread(address,i);
    st.start();
    }catch(IOException e){
    System.out.println("异常");
    //System.err.println(e);
    }
    }
    }else if(arg.length==2){
    if(arg[1].equals("/a") || arg[1].equals("/A")){
    Connection conn=null;
    int nCounter=0;
    try{
    String url=new String();
    url="jdbc:odbc:rule";
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }catch(ClassNotFoundException e){
    System.out.println("Class.forName 失败");
    }
    conn=DriverManager.getConnection(url);
    Statement stmt=conn.createStatement();
    String sql="select * from rule order by rule_id asc";
    ResultSet rs=stmt.executeQuery(sql);
    int strListAddress=0; 
    while(rs.next()){
    int port=0;
    strListAddress=strListAddress+1;
    try{
    port=Integer.parseInt(rs.getString("rule_title"));
    InetAddress address=InetAddress.getByName(arg[0]);
    if(strListAddress==1){
    System.out.println("IP:"+address);

    mythread st=new mythread(address,port);
    st.start(); 
    }catch(IOException e){
    System.out.println("异常");
    }
    }}catch(SQLException ex){
    System.out.println("数据连接失败");
    ex=ex.getNextException();
    }
    }else
    {
    System.out.println("\r\n\t\t参数格式:\tfilter address fromPort toPort"+"\r\n\t\taddress:\t远程主机地址\r\n\t\tfrom:\t\t起始端口号\r\n\t\ttoPort:\t\t结束端口号\r\n\t\t备注:\t\tfromPort 与 toPort必需为数字型");
    System.exit(0);
    }
    }
    }
    }
    //****************************************************/
    // 类名: mythread
    // 功能: 继承Thread,用于传递参数,得到返回值
    // 参数: int i 端口
    //****************************************************/
    class mythread extends Thread{
    private int port;
    private InetAddress myaddress;
    public String strResult=new String();
    public mythread(InetAddress address,int i){ 
    myaddress=address;
    port=i;
    }public void run(){
    try{ 
    Socket socket = new Socket(myaddress,port);
    System.out.println("第"+port+"端口已经扫描.......................打开!!");
    }catch(IOException e){ 
    //System.out.println("第"+port+"端口已经扫描...............关闭");

    }public String rethread(){
    return strResult;
    }
    }
      

  3.   

    to  MrYoucheng(老大) 
    请问public static void mian(String args[])中的args用什么用途啊
    如fromPort=Integer.parseInt(arg[1]);
    toPort=Integer.parseInt(arg[2]);
    中的args[]?谢谢
      

  4.   

    args[]
    是用来接收从命令行传递过来的参数的
    arg[1] 表示第二个参数
    arg[2] 表示第三个参数
    依此类推