一、准备工作
二、SSLSocket代码
Server.java
package Service.Domain;
import Service.Service;
import javax.net.ssl.SSLServerSocket;
import java.io.OutputStream;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws Exception {
SSLServerSocket serverSocket = Service.createServerSocket();
Socket accept = serverSocket.accept();
OutputStream outputStream = accept.getOutputStream();
outputStream.write("hello".getBytes());
outputStream.close();
accept.close();
serverSocket.close();
}
}
Client.java
import Service.Client;
import javax.net.ssl.SSLSocket;
import java.io.InputStream;
public class ClientTest {
public static void main(String[] args) throws Exception {
SSLSocket socket = Client.createSocket("127.0.0.1");
InputStream inputStream = socket.getInputStream();
byte[] b = new byte[1024];
inputStream.read(b);
System.out.println(new String(b,"UTF-8"));
inputStream.close();
socket.close();
}
}
三、wireshark TCP流捕捉分析
wireshark配置
tcp.port == 9999
SSLSocket TCP流追踪
WireShark抓包
握手流程