⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scanudp.java

📁 优秀的内网子机及端口嗅探器(附java代码).JMap is a Java network port scanner, a security tool to identify open ports o
💻 JAVA
字号:
import java.net.*;import java.io.*;import java.util.*;import java.nio.channels.DatagramChannel; /***Thread to scan UDP port on host**Copyright (C) 2003 Tom Salmon tom@slashtom.org**This program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; version 2.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.**@author Tom Salmon tom@slashtom.org*@version 0.3.1*/public class ScanUDP extends Observable implements Runnable {	private InetAddress IP;	private int port;	/**	*Constructs thread to scan a UDP port	*@param InetAddress address of host to scan	*@param int port number to scan	*/	public ScanUDP(InetAddress IP, int port){		this.IP = IP;		this.port = port;	}    /**    *Returns the IP address being scanned    */    public InetAddress getIP(){        return IP;    }    /**    *Return the port being scanned    */    public int getPort(){        return port;    }	public void run(){		String portStatus = this.scanUDP();		setChanged();		notifyObservers(portStatus);	}    /**    *Scans single UDP port on host/port    *@return String either OPEN CLOSED    */       protected String scanUDP(){        DatagramSocket ds;        DatagramPacket dp;        DatagramChannel dChannel;        try{            byte [] bytes = new byte[128];            ds = new DatagramSocket();            dp = new DatagramPacket(bytes, bytes.length, IP, port);            dChannel = DatagramChannel.open();            dChannel.connect(new InetSocketAddress(IP, port));            dChannel.configureBlocking(true);            ds = dChannel.socket();            ds.setSoTimeout(1000);            ds.send(dp);            dp = new DatagramPacket(bytes, bytes.length);            Thread.sleep(1000);            ds.receive(dp);            //check datagram channel still connected            if (!dChannel.isConnected() || !dChannel.isOpen()){                ds.close();                return "CLOSED";            }            ds.disconnect();            dChannel.disconnect();            dChannel.close();            ds.close();        }        catch(PortUnreachableException e){            return "CLOSED";        }        catch(InterruptedIOException e){            return "CLOSED";        }        catch(IOException e){            return "CLOSED";        }        catch(Exception e){            return "CLOSED";        }        return "OPEN";    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -