javaweb 网页编程 B/S
网络编程 TCP/IP C/S
网络通信协议
TCP/IP模型:
OSI七层架构:
Fiddler,burpsuite是应用层:抓HTTP包
wireshark貌似是直接抓物理层,然后把每一层分出来。但是不能改包和发包
ip
1.127.0.0.1(localhost)
2.分类:
ip地址分类: ipv4/ipv6
ipv4:四个字节组成,每个字节0~255,一共42亿(30亿都在北美,亚洲只有4亿,在2011年就用尽了)(说法:美国甚至能给饮水机分配ip)
ipv6:128位。8个无符号整数。
公网(互联网)/私网(局域网):
内网ip:192.168.xx.xx、172.16.xx.xx、10.xx.xx.xx
ABCD类地址
域名:去搜www.a.com的域名,相似的价格都能到90多万(越短越贵,早些时候有抢注域名的,中文结尾的一般便宜)
java:查ip:
1 | InetAddress.getByName("127.0.0.1"); |
端口:
0~65535
分为TCP和UDP端口(各有65536个,互相不影响)
分类:
共有端口:0-1023(尽量不要用)
21:ftp
22:ssh
23:Telent:远程监听
80:http
443:https
程序注册端口:1024-49151,分配给用户或程序
Tomcat:8080
MYSQL:3306
Oracle:1521
动态、私有端口:49152-65535
指令:
1 | netstat -ano #查询所有端口 |
java
1 | new InetSocketAddress("127.0.0.1",8080); |
通信协议:
速率,传输码率,代码结构,传输控制……
TCP/IP协议簇
重要:
TCP:用户传输协议(需要交互)
UDP:用户数据报协议(不需要回包)
出名协议:
TCP
IP:网络互连协议
TCP/UDP
TCP:打电话
连接、稳定
三次握手(建立连接)(ABA),四次挥手(断开连接)(ABBA)
客户端、服务端
传输完成,释放连接,效率低
UDP:发短信
不连接、不稳定
客户端、服务端:没有明确界限
不管有没有准备好,都可以发给对方
DDOS攻击:向对方无限发包,造成端口堵塞(占据所有端口)
TCP实现聊天(JVAV)
client:
1 | package com.kuang.lesson01; |
server:(有用的代码只有中间带注释的几行)
1 | package com.kuang.lesson01; |
文件上传:
client
1 | package com.kuang.lesson01; |
1 | package com.kuang.lesson01; |
UDP
发短信:不用连接,需要地址
发送:
1 | package com.kuang.lesson01; |
接收:
1 | package com.kuang.lesson01; |