sock5系列之模拟tcp请求sock5服务器!(三)
直接上干货*****代码不能拿来就测试,得有sock5服务器的环境!----》sock5环境搭建请看相关系列文章sock5系列之centos6.5 搭建!(一)
package socket.check.ip;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;import org.apache.log4j.net.SyslogAppender;public class Client {//Sock5 代理 请求规范需要传的参数 05 01 00 (都是16进制)private static final byte[] VER = { 0x05, 0x01, 0x00 };//Sock5 代理 请求规范需要传的参数 05 01 00 01(都是16进制)private static final byte[] VERTWO = {0x05, 0x01, 0x00, 0x01};//Sock5 代理 请求规范需要传的参数 IP+Post (都是16进制)private static final byte[] BAIDU = {0x6f, (byte) 0xce, (byte) 0xdf, (byte) 0xac, 0x50};public static void main(String[] args) { try { //1.创建客户端Socket,指定服务器地址和端口号 Socket socket=new Socket("172.16.0.204", 1080);//2.获取输出流,用来向服务器发送信息 OutputStream os=socket.getOutputStream();//字节输出流 System.out.println("准备第一次握手!");System.out.println("发送sock5协议要求的参数:"+bytesToHexString(VER,0,VER.length));os.write(VER); os.flush();//刷新缓存,向服务器端输出信息 //关闭输出流
// socket.shutdownOutput(); //3.获取输入流,用来读取服务器端的响应信息 InputStream is=socket.getInputStream();byte[] b = new byte[128];int a = is.read(b);System.out.println("返回字节数:"+a);BufferedReader br=new BufferedReader(new InputStreamReader(is)); String result = bytesToHexString(b,0,a);System.out.println(result);System.out.println("准备第二次握手!");os.write(VERTWO);os.write(BAIDU);System.out.print("发送sock5协议要求的参数:"+bytesToHexString(VERTWO,0,VERTWO.length));System.out.println(bytesToHexString(BAIDU,0,BAIDU.length));os.flush();byte[] baidu = new byte[1024];int baidulength = is.read(baidu);System.out.println("返回字节数:"+baidulength);System.out.println(bytesToHexString(baidu,0,baidulength));//4.关闭资源 br.close(); is.close(); os.close(); socket.close(); } catch (IOException ex) { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } } public static final String bytesToHexString(byte[] bArray, int begin, int end) { StringBuffer sb = new StringBuffer(bArray.length); String sTemp; for (int i = begin; i < end; i++) { sTemp = Integer.toHexString(0xFF & bArray[i]); if (sTemp.length() < 2) sb.append(0); sb.append(sTemp.toUpperCase()); sb.append(" "); } return sb.toString(); }
}
这里就简单的使用了两个管道 OutputStream InputStream 实现了请求sock5代理服务器的请求(参数)&接收(结果)!
sock5系列之模拟tcp请求sock5服务器!(三)相关推荐
- socket 请求Web服务器过程
HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有"连接建立"的发生. 而有人或许会问:众所周知,HTTP协议有两大特性, ...
- jmeter测试TCP服务器/模拟发送TCP请求
jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求. TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响应. jmeter模拟发送TCP请求的方法: 1. ...
- NodeJs本地搭建服务器,模拟接口请求,获取json数据
最近在学习Node.js,虽然就感觉学了点皮毛,感觉这个语言还不错,并且也会一步步慢慢的学着的,这里实现下NodeJs本地搭建服务器,模拟接口请求,获取json数据. 具体的使用我就不写了,这个博客写 ...
- nodejs虚拟服务器,NodeJs本地搭建服务器,模拟接口请求,获取json数据
引言: 不知道你在项目开发过程中,有没有遇到过有过以下场景: 一般是前端先制作静态页面,同时服务器端创建数据库,搭服务器端架构,写接口: 当接口写完之后,前端或者后端才能嵌套页面. 但是,如果前端页面 ...
- 应用请求web服务器的过程详解
我们在做渗透测试时,需要知道互联网中是如何处理客户端与服务器端之间的请求的.本文转载一篇文章详解介绍了一次web请求过程的处理. 我们要了解一下Internet中一台计算机访问Web服务器的全部过程, ...
- tcp ip协议 服务器和客户端区别,网络与TCP/IP协议-总结
TCP/IP参考模型 层级 数据形式 主要功能 协议(只标注较主要 ...
- TCP与Web服务器
TCP通信与Web服务器 TCP与Web服务器 Python实现套接字编程 实验准备 服务器端程序 客户机端程序 运行程序步骤 测试运行结果 服务器端优化 缺陷 实验准备 服务器优化前程序运行结果 服 ...
- Java爬虫(二)-- httpClient模拟Http请求+jsoup页面解析
博客 学院 下载 GitChat TinyMind 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye 写博客 发Chat 传资源 登录注册 原 Java爬虫(二)-- httpClient ...
- 计算机网络套接字编程实验-TCP单进程循环服务器程序与单进程客户端程序(简单回声)
1.实验系列 ·Linux NAP-Linux网络应用编程系列 2.实验目的 ·理解并掌握在程序运行时从命令行读取数据的C语言编程方法: ·理解并掌握基于命令参数设置并获取IP与Port的C语言编程方 ...
最新文章
- 【怎样写代码】向现有类型“添加”方法 -- 扩展方法(三):为枚举类型创建方法
- J2EE Java泛型的好处
- [笔记].关于Nios II的数据类型的一点想法
- python在线课程-《Python程序设计与应用》在线课程使用说明
- Android中Context简介
- Redis-RDB持久化设置
- AcWing 274. 移动服务
- 飞鸽传书 宣传单和电话说辞
- 「深度解读」为什么连Google也无法阻挡垂直行业SaaS的浪潮
- 京东供应链金融科技推出“采购融资”服务 最高100万无抵押融资
- 图书管理系统/库存管理系统等计算机毕业论文设计
- 修改手机定位 之 Fake Location 软件使用教程
- 主持人大赛-即兴主持之新闻稿
- IP探测实现 ARP与设备发现
- java垃圾处理机制分析
- 云主机和物理机有什么区别?
- 几张“有趣”的简图带你理解面试题:String、StringBuffer、StringBuilder区别
- 电影▍更多的《复仇者联盟4:终局之战》剧透描述了令人心碎的超级英雄死亡...
- Python基础-类变量和实例变量
- 有营养的废话:人工智能、大数据和高性能计算融合成为趋势丨AI推理服务器,能读懂福尔摩斯?【软件网每日新闻播报│第10-24期】