项目需要扫描占用的端口来判断服务是否启动,通过查资料发现大多数方法都是ServerSocket socket = new ServerSocket(port);代码如下:

package com.frank.util;

import java.io.IOException;

import java.net.InetAddress;

import java.net.Socket;

import java.net.UnknownHostException;

public class NetUtil {

/***

* true:already in using false:not using

* @param port

*/

public static boolean isLoclePortUsing(int port){

boolean flag = true;

try {

flag = isPortUsing("127.0.0.1", port);

} catch (Exception e) {

}

return flag;

}

/***

* true:already in using false:not using

* @param host

* @param port

* @throws UnknownHostException

*/

public static boolean isPortUsing(String host,int port) throws UnknownHostException{

boolean flag = false;

InetAddress theAddress = InetAddress.getByName(host);

try {

Socket socket = new Socket(theAddress,port);

flag = true;

} catch (IOException e) {

}

return flag;

}

}

经过测试发现如果端口没有占用,此方法的时间消耗比较大,大概在1s左右,如果是循环扫描端口,无疑是无法接受的。

可以用java.net.ServerSocket包的ServerSocket代替Socket去检测端口,方法如下:

public static boolean isPortUsing(String host,int port) throws UnknownHostException{

boolean flag = true;

// InetAddress theAddress = InetAddress.getByName(host);

try {

// Socket socket = new Socket(theAddress,port);

ServerSocket socket = new ServerSocket(port);

flag = false;

socket.close();

} catch (IOException e) {

}

return flag;

}

对Socket等知识研究较少,如有问题,请大家及时提出,尽快改正,谢谢!

java 端口扫描_java端口扫描(原创)相关推荐

  1. java代码实现文件扫描_JAVA文件扫描(递归)的实例代码

    具体代码如下所示: import java.io.File; public class Scan { public static void main(String[] args) { String f ...

  2. java udp ip端口 设置_UDP端口扫描Java只找到1个开放的UDP端口

    我对端口扫描有一个分歧.我在 Java中扫描一些IP地址的UDP端口.在我的程序中(假设一切正常)我只能找到一个开放的UDP端口.在另一方面端口扫描"nmap"我得到4个开放的UD ...

  3. nmap扫描ipv6端口_Flan Scan:Cloudflare开源的轻量级网络漏洞扫描程序

    日前,Cloudflare宣布开源其内部的轻型网络漏洞扫描工具Flan Scan.Flan Scan是一款基于Nmap打包的Python漏洞扫描程序.基于Nmap的开源强大,灵活性,Cloudflar ...

  4. python在命令端口运行脚本_扫描端口占用情况的python脚本

    之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况.由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结. 一.python脚本实现扫描 ...

  5. 从入门到入土:基于Python|ACK|FIN|Null|Xmas|windows|扫描|端口扫描|scapy库编写|icmp协议探测主机|对开放端口和非开放端口完成半连接扫描|全连接扫描|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  6. nmap扫描ipv6端口_web渗透测试系列 之 扫描(3)

    Nmap-扫描器之王 今天我们来聊聊被称之为扫描器之王的nmap,一般我们在渗透的时候都会这样说,第一步nmap开路.Nmap是一款网络扫描和主机检测的工具.开源免费的.可用于:主机发现.端口发现或枚 ...

  7. 主机扫描、端口扫描、系统扫描、漏洞扫描

    主机扫描.端口扫描.系统扫描.漏洞扫描 主机扫描 找出网段内活跃主机. 主机扫描方式: 1.传统 ICMP Ping 扫描 2.ACK Ping 扫描 3.SYN Ping 扫描 4.UDP Ping ...

  8. [渗透工具] - IP资产POC扫描、指纹扫描、端口爆破扫描系统

    地址 : https://github.com/awake1t/linglong linglong 一款资产巡航扫描系统.系统定位是通过masscan+nmap无限循环去发现新增资产,自动进行端口弱口 ...

  9. 第七章(五)—主动信息收集—端口扫描(基于TCP全连接扫描、隐蔽扫描、僵尸扫描、UDP的端口扫描)

    `## 端口扫描 端口对应网络服务及应用端程序 服务端程序的漏洞通过端口攻入 发现开放的端口 更具体的攻击面 UDP端口扫描 向某一端口发送UDP数据包,如果目标ip给我一个ICMP prot-unr ...

最新文章

  1. 人们需要更美观的数据中心
  2. 第四维、第五维空间狂想
  3. Hadoop hdfs 获取文件列表代码示例
  4. cocos2d-x 日志...
  5. 红帽产品及技术总裁:未来IT趋势预测
  6. 小程序开发入门教程 一
  7. notification 是同步的
  8. mysql如何把一个表直接拷贝到一个新的表
  9. 利用阿斯克码打印A到Z
  10. python 象棋算法接口_python输出国际象棋棋盘的实例分享
  11. 高一信息技术 计算机配件的真伪辨别,高一信息技术
  12. TLC5615模数转换锯齿波仿真实验(Arduino)
  13. 麦肯锡著名的三大结构化工具:金字塔原理、MECE和逻辑树
  14. 解决WordPress文章页面无法显示的问题
  15. Android P Settings默认显示开发者选项
  16. 27、火灾危险性分类
  17. android kotlin扩展添加域名
  18. 【unity】分享一个2D小游戏的完整制作教程——涂鸦跳跃demo
  19. 光刻技术的原理和EUV光刻技术前景
  20. 10个找资源必备的网站,精准搜索,想要的全都有

热门文章

  1. 台服大航海OL竟然要合服?!看来要稍微应付一下了……
  2. 什么是GHO和ISO文件?
  3. 这里已经是废墟,什么东西都没有
  4. 树莓派3b——使用360wifi(小度wifi、小米wifi)开启热点
  5. 【ES从入门到实战】五、全文检索-ElasticSearch-入门-putpost新增数据
  6. 简单三步教你利用VMProtect轻松保护你的代码
  7. 南通大学信息科学技术学院818数字系统原理与设计真题分布情况
  8. 在外打工好久不回老家,用python为家里贴上新年春联
  9. 思科交换机配置telnet
  10. Errors reported here must be corrected before the service can be started