欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java掃描端口源代碼,java 端口掃描

誰(shuí)有java本地監(jiān)聽(tīng)與遠(yuǎn)程端口掃描 源程序

本地端口監(jiān)聽(tīng)

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比溫嶺網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式溫嶺網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋溫嶺地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴(lài)。

import?java.io.IOException;

import?java.net.ServerSocket;

import?java.net.Socket;

import?java.util.concurrent.ExecutorService;

import?java.util.concurrent.Executors;

public?class?SocketServer

{

private?ServerSocket?serverSocket;

private?ExecutorService?executorService;//?線程池

private?final?int?POOL_SIZE?=?600;//?單個(gè)CPU線程池大小

public?SocketServer()?throws?IOException

{

serverSocket?=?new?ServerSocket(9888);//監(jiān)聽(tīng)的端口號(hào)

//?Runtime的availableProcessor()方法返回當(dāng)前系統(tǒng)的CPU數(shù)目.

executorService?=?Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()?*?POOL_SIZE);

System.out.println("服務(wù)器啟動(dòng)");

}

public?void?service()

{

while?(true)

{

Socket?socket?=?null;

try

{

//?接收客戶連接,只要客戶進(jìn)行了連接,就會(huì)觸發(fā)accept();從而建立連接

socket?=?serverSocket.accept();

executorService.execute(new?Handlers(socket));

//這里就是放業(yè)務(wù)邏輯的地方例如獲取數(shù)據(jù)等等

}?catch?(Exception?e)

{

e.printStackTrace();

System.out.println("socket?Exception:"?+?e);

}

}

}

public?static?void?main(String[]?args)?throws?IOException

{

//Thread?thread?=?new?Thread(new?PringtThread());

//thread.start();

new?SocketServer().service();

}

}

端口掃描代碼

import java.io.IOException;

import?java.net.Socket;

public?class?SearchPort?implements?Runnable

{

public?static?void?main(String[]?args)

{

SearchPort?searchPort?=?new?SearchPort();

Thread?thread?=?new?Thread(searchPort);

thread.start();

}

@Override

public?void?run()

{

searchPort("192.168.1.2",?0,?9999);

}

public?void?searchPort(String?ip,int?begin,?int?end)?{

//?1-65535

Socket?s?=?null;

for?(int?i?=?begin;?i??end;?i++)?{

boolean?flag?=?false;

try?{

s?=?new?Socket(ip,?i);

flag?=?s.isConnected();

}?catch?(IOException?e)?{

//?TODO?Auto-generated?catch?block

//?e.printStackTrace();

}

if?(flag)?{

System.out.println("port?"?+?i?+?"?is?open");

try?{

s.close();

}?catch?(IOException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

}?else?{

//?System.out.println("port?"?+?i?+?"?is?close");

}

}

//System.out.println("seach?port?:"?+?begin?+?"?to?"?+?end?+?"?ok..");

}

}

第一個(gè)端口監(jiān)聽(tīng)的采用了線程池的技術(shù),當(dāng)大數(shù)據(jù)來(lái)的時(shí)候也不怕(某大型企業(yè)的部分源碼),第二個(gè)例子是端口掃描器,采用了多線程掃描,代碼直接復(fù)制就可以用的,從10點(diǎn)50分打代碼11點(diǎn)半,不容易,望樓主采納,有什么問(wèn)題可以問(wèn)我

修改一個(gè)JAVA源程序,使它能掃描指定IP的主機(jī)的UDP端口

單線程的

import java.net.*;

public class UDP

{

public static void main(String args[])

{

for (int port=0;port=65535;port++) {

try {

DatagramSocket server=new DatagramSocket(port);

server.close();

}

catch(SocketException e) {

System.out.println("UDP端口"+port+"開(kāi)放!");

}

}

}

}

希望能夠幫助到你,望采納!

如何用java語(yǔ)言實(shí)現(xiàn)端口掃描器

使用 DatagramSocket(int port) 建立socket(套間字)服務(wù)。

將數(shù)據(jù)打包到DatagramPacket中去

通過(guò)socket服務(wù)發(fā)送 (send()方法)

關(guān)閉資源

public static void main(String[] args) {

DatagramSocket ds = null; //建立套間字udpsocket服務(wù)

try {

ds = new DatagramSocket(8999); //實(shí)例化套間字,指定自己的port

} catch (SocketException e) {

System.out.println("Cannot open port!");

System.exit(1);

}

byte[] buf= "Hello, I am sender!".getBytes(); //數(shù)據(jù)

InetAddress destination = null ;

try {

destination = InetAddress.getByName("192.168.1.5"); //需要發(fā)送的地址

} catch (UnknownHostException e) {

System.out.println("Cannot open findhost!");

System.exit(1);

}

DatagramPacket dp =

new DatagramPacket(buf, buf.length, destination , 10000);

//打包到DatagramPacket類(lèi)型中(DatagramSocket的send()方法接受此類(lèi),注意10000是接受地址的端口,不同于自己的端口!)

try {

ds.send(dp); //發(fā)送數(shù)據(jù)

} catch (IOException e) {

}

ds.close();

}

}

接收步驟:

使用 DatagramSocket(int port) 建立socket(套間字)服務(wù)。(我們注意到此服務(wù)即可以接收,又可以發(fā)送),port指定監(jiān)視接受端口。

定義一個(gè)數(shù)據(jù)包(DatagramPacket),儲(chǔ)存接收到的數(shù)據(jù),使用其中的方法提取傳送的內(nèi)容

通過(guò)DatagramSocket 的receive方法將接受到的數(shù)據(jù)存入上面定義的包中

使用DatagramPacket的方法,提取數(shù)據(jù)。

關(guān)閉資源。

import java.net.*;

public class Rec {

public static void main(String[] args) throws Exception {

DatagramSocket ds = new DatagramSocket(10000); //定義服務(wù),監(jiān)視端口上面的發(fā)送端口,注意不是send本身端口

byte[] buf = new byte[1024];//接受內(nèi)容的大小,注意不要溢出

DatagramPacket dp = new DatagramPacket(buf,0,buf.length);//定義一個(gè)接收的包

ds.receive(dp);//將接受內(nèi)容封裝到包中

String data = new String(dp.getData(), 0, dp.getLength());//利用getData()方法取出內(nèi)容

System.out.println(data);//打印內(nèi)容

ds.close();//關(guān)閉資源

}

}

java掃描局域網(wǎng)的端口

直接上代碼:

import?java.net.Socket;

import?java.text.SimpleDateFormat;

import?java.util.Date;

public?class?PortScanner?extends?Thread?{

private?int[]?p;

Socket?ss?=?null;

public?PortScanner(int[]?p)?{

this.p?=?p;

}

public?static?void?main(String[]?args)?{

for?(int?i?=?0;?i??65535;?i?=?i?+?100)?{

new?PortScanner(new?int[]?{?i?+?1,?i?+?100?}).start();

}

}

@Override

public?void?run()?{

for?(int?i?=?p[0];?i??p[1];?i++)?{

try?{

ss?=?new?Socket("8.8.8.8",?i);

System.out.println("掃描到端口:?"?+?i);

}?catch?(Exception?e)?{

//?System.out.println("關(guān)閉端口:?"?+?i);

}

}

}

}

如何在Java中調(diào)用掃描儀的源代碼

下載一個(gè)jar包,放在lib目錄下面,然后再把這個(gè)jar加入到項(xiàng)目里面就可以了,右鍵add as libary,就可以引用源代碼了

當(dāng)前題目:java掃描端口源代碼,java 端口掃描
網(wǎng)站鏈接:http://chinadenli.net/article9/dsiciih.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航網(wǎng)站內(nèi)鏈手機(jī)網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計(jì)建站公司Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司