有没有什么练手项目可以充分利用到计算机网络相关知识?

zhao1014 27天前 20

实现一个简易 Tomcat 服务器可以吗?

最新回复 (52)
  • araaaa 24天前
    引用 2
    写个代理
  • oahebky 24天前
    引用 3
    叫你一声 Nginx, 你敢不敢答应
  • DoodleSit 24天前
    引用 4
    k8s + docker 配置组网
  • oahebky 24天前
    引用 5
    @DoodleSit

    恕我直言,你说的这个是网管的网络知识,和考一个思科证书差不多。

    当然我只是指出来,说不定别人需要的正是这个。
  • zonde306 24天前
    引用 6
    UDP 实现可靠数据传输协议( TCP 、QUIC )、UDP 实现 SSL ( QUIC )
    实现语音流 /视频流协议
    实现 DNS 协议
  • Cbdy 24天前
    引用 7
    写个简单的浏览器
  • ericgui 24天前
    引用 8
    @Cbdy 不错,
  • nightwitch 24天前
    引用 9
    https://github.com/skywind3000/kcp
    看懂这个项目在做啥
  • lifetimeporn 24天前
    引用 10
    https://github.com/zhxie/pcap2socks
    看懂这个项目在做啥
  • yolee599 24天前
    引用 11
    写一个软路由
  • jizhihaoSAMA 24天前
    引用 12
    8 、9 楼的太硬核了吧
  • zomco 24天前
    引用 13
    做一个软路由效果会好些,从物理层到应用层都有涉及
  • zhangfeiwudi 24天前
    引用 14
    我也想问,go 这一块有合适的开源项目参考吗
  • yingo 24天前
    引用 15
    这的确是一个好问题.
  • unixeno 24天前
    引用 16
    写一个 VPN
  • laminux29 24天前
    引用 17
    实现一个简易 Tomcat 服务器,已经不是练手了。你要能实现出来,bat 随便你进了。
  • Tianao 24天前
    引用 18
    @oahebky #9 恕我直言,99% 的企业 /公司网管和 99% 的 CCNP 都不会这个(现学现卖不算,这样的话高中生都会)。
  • Tianao 24天前
    引用 19
    @Tianao #17 不好意思楼上打错了,#17 回复的是 #4.
  • 楼主 zhao1014 24天前
    引用 20
    @yolee599
    @zomco
    有开源项目可供参考吗?
  • sxl2000303 24天前
    引用 21
    写一个 shadowsocks
  • raaaaaar 24天前
    引用 22
    一千多点击,这么点回复,这让我想起知乎上一个问题,为什么国外的论坛,如 quora 人们不喜欢评论,但是知乎喜欢评论
  • murmur 24天前
    引用 23
    自己写一个 qq,不要用 tcp 直接 raw socket 自己开整
  • Exin 24天前
    引用 24
    给 openwrt 做点贡献?
  • janus77 24天前
    引用 25
    内网的实时聊天软件就很不错,包括服务端和客户端,如果想学客户端知识顺便可以自己写客户端,不想的话就用命令行实现吧
  • grofis 24天前
    引用 26
    如无必要 勿增实体
    如果有了 Tomcat 为什么还要实现 Tomcat
  • wudaye 24天前
    引用 27
    裸写个 http 服务器?
  • ccsexyz 24天前
    引用 28
    代理太简单了,整个复杂点的吧,写个 http server 吧。 比如 https://github.com/zyearn/zaver
  • lqw3030 24天前
    引用 29
    写个内网穿透,很有趣的
  • cdlnls 24天前
    引用 30
    计算机网络我觉得核心就在路由交换和协议,只是一个应用单独看上去确实少了很多。

    建议整个模拟器实际上手组网,或者上面说的 k8s 的网络配置。
  • levelworm 24天前
    引用 31
    写个 MUD 算么。。。用 socket
  • SpiderXiantang 24天前
    引用 32
    我感觉自己实现一套 tcp 还行,实现 tomcat 的话其实是在练习 socket 编程,并且里面的容器啥的实现其实对网络水平提升没啥用
  • nutting 24天前
    引用 33
    去看 gost 这个软件的源码
  • XiLingHost 24天前
    引用 34
    dn42
  • simonlu9 24天前
    引用 35
    unix 网络编程 里面有一个是从 0 到 1 的 sokcet 服务器改造的,里面牵涉很多知识点,对着代码敲应该吸收很多,看源码的话你压根不知道为什么参数这么设,比如为什么聊天室都会有心跳包这玩意,本身 tcp 就有 keepalive,这种问题你不遇到过根本不知道为什么要这样做
  • xchaoinfo 24天前
    引用 36
    mitmproxy 是不是有帮助,最近在啃这个的源码
  • msg7086 24天前
    引用 37
    @laminux29 简易的 tomcat 很难吗?
    分解一下的话,多线程,套接字,然后拿包出来拆一下字段塞进字典里喂给后端的程序不就结了。
    都说是简易的 tomcat 了,当然不需要做到能进 bat 的程度。
  • chaleaoch 24天前
    引用 38
    不知道计算机网络知识具体指什么. 我觉得搞一个类似 v2ray 的东西应该挺难的...
  • 楼主 zhao1014 24天前
    引用 39
    @chaleaoch 运用 TCP/HTTP 协议相关知识
  • zomco 24天前
    引用 40
    @zhao1014 硬件树莓派,软件 OpenWrt,容易上手,社区生态都可以。建议有目的去做,比如做个扶墙的家庭网关
  • echoe 24天前
    引用 41
    Mark 我也想学一下
  • zarte 24天前
    引用 42
    试着入侵下 v 站
  • 8bit 24天前
    引用 43
    弄个简单的 ftp 服务器或者客户端
  • adminii 24天前
    引用 44
    网络协议:ARP 协议攻击,抓包工具,WIFI 密码破解( AES 最早的那种,算出来的),TCP,UDP,ICMP 发包工具,802.1X 认证工具
    应用协议:使用 UDP,ICMP 实现 TCP (丢包重发,滑动窗口算法等)
  • chaleaoch 24天前
    引用 45
    @zhao1014 撸一个 nginx tomcat guncorn uwsgi 之类的东西. 如果觉得难度大 /不显示,就分析源码,如果还觉得难度大, 网上有 nginx 源码剖析注释版.
  • xiaolong620 24天前
    引用 46
    跑 java 来问不合适吧,我也想学,真香!
  • PDX 24天前
    引用 47
    玩儿 openwrt
  • Jirajine 24天前
    引用 48
    手写一个加密代理。
  • 楼主 zhao1014 24天前
    引用 49
    @xiaolong620 问的就是 java 实现 XD
  • newmlp 24天前
    引用 50
    写一个代理或猥皮恩
  • irytu 24天前
    引用 51
    http://csapp.cs.cmu.edu/3e/labs.html 最后一个 lab 拿走
  • fasionchan 24天前
    引用 52
    写个 ping 命令,写个 traceroute 命令,写个 VPN,写个 Socks5 代理,写个 HTTP 服务器,写个 FTP 服务器,方法简直不要太多~~~观察常用网络工具、网络服务的行为,然后结合网络协议思考它是怎么实现的,最后将它山寨一遍就可以彻底掌握与之相关的网络知识~

    我当年在腾讯实习时,有一个作业性质的项目就是开发一个高并发 FTP 服务器,很考察网络功底和动手能力,所以学习还是要多实践。

    我最近计划写一个网络协议入门教程:

    https://www.yuque.com/coding-fan/network

    里面的编程实践环节,就是手把手演示如何从零实现一个网络工具,例如:重新发明 ping 命令或许可以参考下。只不过,刚刚起步,更新速度不快,大概是一周一两篇。等不及的话,热烈欢迎一起来写,哈哈~~~
  • catsoul 24天前
    引用 53
    emmmm,感觉最简单的就是搞个 arp 欺骗的工具
  • 游客
    54
返回