花了一天的时间对网络通信与安全方面的知识进行了扫盲式学习,通篇总结如下:
1. win dos 网络命令
tracert 跟踪路由的命令:
tracert taobao.com -----显示本机发送数据到taobao.com主机所有经过的路由器主机
netstat 查看本地程序与服务器建立连接的IP和port命令:
用法:
netstat -ano ------查看所有的 netstat -ano | find "724" ------查看某一个应用 “724”是应用的pid 在任务管理器中可以查看到。
2. JPCAP 抓取底层数据包的java api
见文档,不多说了~~
3. 保证通信安全的方法
a. 对称加密:加密方和解密方都持有相同的密匙和算法
javaAPI: CipherOutputStream(加密输出流)、KeyGenerator(密匙生成器)、SecretKey(对称密匙)、Cipher等等接口。
“消息摘要 ”
b . 非对称加密:通过一种算法可以生成一对"公匙"和"私匙"---用 "公匙"加密的数据只有 "私匙"可以解密,反之依然。
RSA非对称加密: javaAPI: RSAPrivateKey|RSAPublicKey|KeyPair|KeyPairGenerator
DH密匙协定协议:
C. 数字证书 :jdk自带的keytool工具可以生成数字证书。
keytool -genkey -keyalg rsa -keystore netjavaKeyStore.ks//用jdk的keytool生成数字证书 keytool -export -file netjava.cer -keystore netjavakeystore.ks//将数字证书导出为win格式的文件
d.SSL(Secure Sockets Layer)安全通道通信
HTTPS(安全超文本传输协议)、VPN(虚拟专用网)都是建立在SSL安全通道基础上的,而HTTP(超文本传输协议)是常规的socket通信,以明文字符传输。