在Linux下用C写了一个扫描指定IP地址对外开放端口号的程序。扫描自己的机器的端口号速度还是挺快的,用编写的程序扫描在美国的服务器时,等了10分钟,端口号才扫到1000左右。于是就想到了用多线程,可是linux c的多线程不会,于是就用Java程序编写了一个可实现多线程扫描的功能。速度比原来快了很多。

import java.net.*;

import java.io.IOException;

public class ScannerPort extends Thread{

private static int i=1;

public void run(){

while(i<65536){

int temp=i;

try{

Socket client = new Socket("192.168.1.114",temp);

//如果client不为空,说明该端口对外开放。

//否则该端口没有在监听的服务,或者是该端口对外屏蔽。

if(client!=null){

System.out.println("Port :"+temp+" is OK!!!");

}

}catch(UnknownHostException e1){

}catch(IOException e2){

}

//要确保每个端口都被扫描到。i是共享数据,需要进行同步控制。

synchronized (ScannerPort.class){

i++;

}

}

}

}

public class Client

{

public static void main(String []args){

//具体跑多少个线程可以根据自己机器的性能来设置。

//如果机器的性能不行的话,线程太多也会降低程序的运行速度。

for(int i=0;i<300;i++){

new ScannerPort().start();

}

}

}

服务端口号从1-65536,程序中对每一个端口都进行一次连接操作,如果client不为空,则说明远程服务器中该端口有服务。

Linux给Java程序设置端口_扫描服务端口的Java程序相关推荐

  1. java jdk设置字符集_使用JDK 11在Java字符串上的新方法

    java jdk设置字符集 Java的String类似乎将在JDK 11中获得一些新方法,该方法将于2018年9月发布. 错误号 错误标题 新的String方法 描述 JDK-8200425 字符串: ...

  2. 为什么java下载安装程序很慢_【关注】微信小程序开发和APP开发的10种区别!

    在移动互联网大火的时代,APP和微信小程序已经成为了企业从移动端获取用户流量,实现盈利的重要端口. 因为微信小程序体积小,操作方便,省去了下载安装这一操作,导致这两年微信小程序的势头是越来越猛,甚至有 ...

  3. 步步高java短信恢复_步步高智能手机自带的程序不见了怎么找回

    步步高智能手机自带的程序不见了找回方法:自带的程序是无法删除的,您应该是移动到桌面上的其他分页界面或者其他文件夹中了,您可以通过桌面上的百度搜索框搜索下.通过搜索框搜索到是无法调出来的,搜索到了只能说 ...

  4. eclipse写java实现端口_使用eclipse(windows)在java中使用IPv6地址和端口号创建套接字...

    当我尝试使用IPv4地址创建套接字时,它很成功,但是当我尝试使用IPv6地址和端口号创建套接字时,它会引发异常: java.net.SocketException: Network is unreac ...

  5. java安全接口调用_步骤3:调用Java接口

    本文档主要介绍了通过调用Java接口生成工作密钥和进行通用数据加解密的操作方法. 整体流程 初始化SDK.具体内容请参见 配置Java接口.具体内容请参见 初始化SDK 使用以下方法初始化SDK.hs ...

  6. java护照号码校验_学无止境之小白学java……第001天

    学习主题:预科阶段 对应视频: http://www.itbaizhan.cn/course/id/18.html 对应作业: 1. 为什么需要学编程,什么样的人可以做程序员? 编程是现实逻辑的表达, ...

  7. java 并发编程多线程_多线程(一)java并发编程基础知识

    线程的应用 如何应用多线程 在 Java 中,有多种方式来实现多线程.继承 Thread 类.实现 Runnable 接口.使用 ExecutorService.Callable.Future 实现带 ...

  8. java面试题成都_成都汇智动力-java面试——多线程面试题

    原标题:成都汇智动力-java面试--多线程面试题 1.多线程有什么用?发挥多核CPU的优势 防止阻塞 便于建模 2.创建线程的方式继承Thread类 实现Runnable接口 至于哪个好,不用说肯定 ...

  9. 扫码点餐小程序源码_扫码点餐小程序有什么用?怎么制作?

    现在小程序扫码点餐服务已经越来越普及,当用户需要点餐时,无需麻烦服务人员,只需扫描餐桌上或者海报上的小程序码,就能快速点餐下单.这样不仅节约了排队时间,也提高了商家自己的服务效率. 上线了小程序案例, ...

最新文章

  1. 2018/11/29 一个64位操作系统的设计与实现 02 (安装nasm)
  2. mysql MDL锁如何解决_MySQL元数据锁MDL
  3. 解决CPC撰写文档报错问题“无法获取“AxforApplication”控件的窗口句柄。不支持无窗口的 ActiveX 控件”
  4. SpringMVC学习总结(2)——SpringMVC返回json配置
  5. Spring-ApplicationContext解读
  6. 24小时学通Linux内核之构建Linux内核
  7. python中去除字符串中首尾空格的函数_Python中去除字符串首尾特定字符的函数:strip()...
  8. erlang环境变量——HOME
  9. ROS笔记(24) Amcl
  10. 支付宝在线支付接口开发教程
  11. ChaiNext:市场热情仍在,也需留意高位风险
  12. 计算机wps如何排序,wps怎么排序【解答方案】
  13. java 集合 总结 表_java 列表与集合总结
  14. HDU-1226 超级密码
  15. python 获取错误日志,并发送邮件
  16. 微信 Android design 代码,微信代码有哪些_微信隐藏代码介绍_3DM手游
  17. python unpack函数_python的struct.unpack函数
  18. 电感的主要特性参数介绍
  19. html与css笔记(旧)
  20. 章文嵩博士和他背后的负载均衡(LOAD BANLANCER)帝国

热门文章

  1. 前端学习(1771):前端调试之serverworkers的概念和方法
  2. 前端学习(548):node的自定义模块
  3. 歌谣带你看java面试题
  4. java学习(51):上转型对象
  5. oracle新建用户sql局域,oracle 新建数据库,及创建用户,表空间,sqlplus导入导出数据库...
  6. Nginx快速搭建和基本使用
  7. 论文阅读(2)--Picking Deep Filter Responses for Fine-grained Image Recognition
  8. 中boxplot函数的参数设置_如何在Python中生成图形和图表
  9. SpringCloud(二) 服务注册到Eureka
  10. SQLServer数据库,表内存,实例名分析SQL语句