| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 756 人关注过本帖
标题:想把netcat代码贴出来一起研究,不过又猜测大家不感兴趣
只看楼主 加入收藏
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
结帖率:98.63%
收藏
已结贴  问题点数:20 回复次数:9 
想把netcat代码贴出来一起研究,不过又猜测大家不感兴趣
自己这两天在家一直在看GNU netcat的代码,

感觉它是socket programming入门的好材料,

毕竟GNU版的注释就有26%了,不过感觉

自己看起来觉得怪吃力的,想把代码贴出来

大家一起分析,每天一点点, 不过又估计大家也是各有所爱,

也没什么兴趣,所以踌躇中


[ 本帖最后由 madfrogme 于 2012-8-13 22:01 编辑 ]
搜索更多相关主题的帖子: 在家 
2012-08-13 10:51
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:3 
你可以聊聊,我想我还是有点子兴趣的。
2012-08-13 11:27
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
源码大家都下得着,看过三五个 GNU 工程的人,看这个源码还是比较省力的。
不建议生读源码,最好是用 gdb 跟踪着看。需要的地方可以自己改源码以方便观察。
2012-08-13 13:13
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:3 
20分呀!有福同享嘛
2012-08-13 13:14
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:3 
嘿嘿  俺没看过 依然帮顶!

梅尚程荀
马谭杨奚







                                                       
2012-08-13 13:14
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
如果你想分享心得的话,不用犹豫,分享就是了。大家有兴趣的自会跟帖讨论的。
2012-08-13 13:15
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
现在正在啃一根硬骨头, netcat进入NETCAT_LISTEN 监听模式之后(应该类似与 $ nc -l 3333 之类的命令让nc进入监听模式吧)

 if (netcat_mode == NETCAT_LISTEN) {
      if (opt_exec) {
    ncprint(NCPRINT_VERB2, _("Passing control to the specified program"));
    ncexec(&listen_sock);        /* this won't return */
      }
        /* int core_readwrite(nc_sock_t *nc_main, nc_sock_t *nc_slave)*/
      core_readwrite(&listen_sock, &stdio_sock);
      debug_dv(("Listen: EXIT"));
    }

出现了一个int core_readwrite(nc_sock_t *nc_main, nc_sock_t *nc_slave) 函数,各种纠结

这个函数好像就是处理从标准输入读入数据,发到服务器,再回显这么一个过程,将近有300行代码,

这不是要人命吗,各种FD_SET, select  什么的,网上也找不到说明,功力不够,痛苦啊 

The quieter you become, the more you can hear
2012-08-13 20:36
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
学习
2012-08-13 21:06
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
看代码不用把所有的地方一一看懂。先看明白大思路,再细啃会好一点。
2012-08-13 22:45
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
收藏
得分:3 
楼上说得对
函数只要看它的功能、参数就行了,如果你不是硬件工程师,就不用太在意它的底层的东西
就像printf函数一样,你不需要知道它的底层是怎么显示的,你只要知道输出参数有哪些格式就可以了
int core_readwrite(nc_sock_t *nc_main, nc_sock_t *nc_slave)
这个函数只有两个参数,好像一个是主机一个是从机,并且都是指针
2012-08-14 17:23
快速回复:想把netcat代码贴出来一起研究,不过又猜测大家不感兴趣
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015609 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved