一直对ssh协议的各种客户端实现比较入迷,遍寻了很多ssh协议实现也用了很多的库,发现依赖太多

putty是最纯洁依赖第三方几乎为0的客户端实现,先从plink处开始入手.

1.putty目录

才刚开始看其源码,所以先上其目录结构

.

|-- Buildscr #编译一个putyy的目录结构,暂时没有看懂用什么编译

|-- Buildscr.cv #编译一个putyy的目录结构,暂时没有看懂用什么编译

|-- CHECKLST.txt

|-- LATEST.VER

|-- LICENCE

|-- Makefile.am

|-- Makefile.in

|-- README

|-- Recipe

|-- aclocal.m4

|-- ar-lib

|-- be_all.c

|-- be_all_s.c

|-- be_none.c

|-- be_nos_s.c

|-- be_nossh.c

|-- be_ssh.c

|-- callback.c

|-- charset

| |-- README

| |-- charset.h

| |-- enum.c

| |-- fromucs.c

| |-- internal.h

| |-- localenc.c

| |-- macenc.c

| |-- mimeenc.c

| |-- sbcs.c

| |-- sbcs.dat

| |-- sbcsdat.c

| |-- sbcsgen.pl

| |-- slookup.c

| |-- toucs.c

| |-- utf8.c

| `-- xenc.c

|-- cmdgen.c

|-- cmdline.c

|-- compile

|-- conf.c

|-- config.c

|-- configure

|-- configure.ac

|-- contrib

| |-- cygtermd

| | |-- Makefile

| | |-- README

| | |-- main.c

| | |-- malloc.c

| | |-- malloc.h

| | |-- pty.c

| | |-- pty.h

| | |-- sel.c

| | |-- sel.h

| | |-- telnet.c

| | `-- telnet.h

| |-- encodelib.py

| |-- kh2reg.py

| |-- logparse.pl

| |-- nice-ibeam.cur

| `-- samplekex.py

|-- cproxy.c

|-- depcomp

|-- dialog.c

|-- dialog.h

|-- doc

| |-- AppendixA.html

| |-- AppendixB.html

| |-- AppendixC.html

| |-- AppendixD.html

| |-- AppendixE.html

| |-- AppendixF.html

| |-- Chapter1.html

| |-- Chapter10.html

| |-- Chapter2.html

| |-- Chapter3.html

| |-- Chapter4.html

| |-- Chapter5.html

| |-- Chapter6.html

| |-- Chapter7.html

| |-- Chapter8.html

| |-- Chapter9.html

| |-- IndexPage.html

| |-- Makefile

| |-- blurb.but

| |-- chm.but

| |-- chm.css

| |-- config.but

| |-- errors.but

| |-- faq.but

| |-- feedback.but

| |-- gs.but

| |-- index.but

| |-- index.html

| |-- intro.but

| |-- licence.but

| |-- man-pg.but

| |-- man-pl.but

| |-- man-pscp.but

| |-- man-psft.but

| |-- man-ptel.but

| |-- man-pter.but

| |-- man-putt.but

| |-- mancfg.but

| |-- manpages.but

| |-- pageant.but

| |-- pgpkeys.but

| |-- plink.1

| |-- plink.but

| |-- pscp.1

| |-- pscp.but

| |-- psftp.1

| |-- psftp.but

| |-- pterm.1

| |-- pubkey.but

| |-- putty.1

| |-- putty.cnt

| |-- putty.hlp

| |-- puttydoc.txt

| |-- puttygen.1

| |-- puttytel.1

| |-- site.but

| |-- sshnames.but

| |-- udp.but

| |-- using.but

| |-- vids.but

| `-- vstr.but

|-- errsock.c

|-- icons

| |-- Makefile

| |-- cicon.pl

| |-- icon.pl

| `-- mkicon.py

|-- import.c

|-- install-sh

|-- int64.c

|-- int64.h

|-- ldisc.c

|-- ldisc.h

|-- ldiscucs.c

|-- logging.c

|-- macosx

| |-- Makefile

| |-- README.OSX

| |-- info.plist

| |-- osx.h

| |-- osxclass.h

| |-- osxctrls.m

| |-- osxdlg.m

| |-- osxmain.m

| |-- osxsel.m

| |-- osxwin.m

| `-- putty.icns

|-- minibidi.c

|-- misc.c

|-- misc.h

|-- miscucs.c

|-- missing

|-- mkauto.sh

|-- mkfiles.pl

|-- mksrcarc.sh

|-- mkunxarc.sh

|-- network.h

|-- nocproxy.c

|-- nogss.c

|-- noprint.c

|-- noshare.c

|-- noterm.c

|-- notiming.c

|-- pgssapi.c

|-- pgssapi.h

|-- pinger.c

|-- portfwd.c

|-- pproxy.c

|-- proxy.c

|-- proxy.h

|-- pscp.c

|-- psftp.c

|-- psftp.h

|-- putty.h

|-- puttymem.h

|-- puttyps.h

|-- raw.c

|-- resource.h

|-- rlogin.c

|-- sercfg.c

|-- settings.c

|-- sftp.c

|-- sftp.h

|-- sign.sh

|-- ssh.c

|-- ssh.h

|-- sshaes.c

|-- ssharcf.c

|-- sshblowf.c

|-- sshbn.c

|-- sshbn.h

|-- sshcrc.c

|-- sshcrcda.c

|-- sshdes.c

|-- sshdh.c

|-- sshdss.c

|-- sshdssg.c

|-- sshgss.h

|-- sshgssc.c

|-- sshgssc.h

|-- sshmd5.c

|-- sshnogss.c

|-- sshprime.c

|-- sshpubk.c

|-- sshrand.c

|-- sshrsa.c

|-- sshrsag.c

|-- sshsh256.c

|-- sshsh512.c

|-- sshsha.c

|-- sshshare.c

|-- sshzlib.c

|-- storage.h

|-- telnet.c

|-- terminal.c

|-- terminal.h

|-- testback.c

|-- testdata

| |-- bignum.py

| |-- colours.txt

| |-- lattrs.txt

| |-- scocols.txt

| |-- utf8.txt

| `-- vt100.txt

|-- time.c

|-- timing.c

|-- tree234.c

|-- tree234.h

|-- unix

| |-- Makefile

| |-- Makefile.gtk

| |-- Makefile.ux

| |-- charset

| |-- config.log

| |-- config.status

| |-- configure

| |-- gtkcfg.c

| |-- gtkcols.c

| |-- gtkcols.h

| |-- gtkdlg.c

| |-- gtkfont.c

| |-- gtkfont.h

| |-- gtkwin.c

| |-- pscp

| |-- psftp

| |-- puttygen

| |-- stamp-h1

| |-- unix

| |-- unix.h

| |-- ux_x11.c

| |-- uxagentc.c

| |-- uxcfg.c

| |-- uxconfig.h

| |-- uxcons.c

| |-- uxgen.c

| |-- uxgss.c

| |-- uxmisc.c

| |-- uxnet.c

| |-- uxnoise.c

| |-- uxpeer.c

| |-- uxplink.c

| |-- uxprint.c

| |-- uxproxy.c

| |-- uxpterm.c

| |-- uxpty.c

| |-- uxputty.c

| |-- uxsel.c

| |-- uxser.c

| |-- uxsftp.c

| |-- uxshare.c

| |-- uxsignal.c

| |-- uxstore.c

| |-- uxucs.c

| |-- xkeysym.c

| |-- xpmptcfg.c

| |-- xpmpterm.c

| |-- xpmpucfg.c

| `-- xpmputty.c

|-- uxconfig.in

|-- version.c

|-- version.h

|-- wcwidth.c

|-- wildcard.c

|-- windows

| |-- DEVCPP

| | |-- pageant

| | | `-- pageant.dev

| | |-- plink

| | | `-- plink.dev

| | |-- pscp

| | | `-- pscp.dev

| | |-- psftp

| | | `-- psftp.dev

| | |-- putty

| | | `-- putty.dev

| | |-- puttygen

| | | `-- puttygen.dev

| | `-- puttytel

| | `-- puttytel.dev

| |-- MSVC

| | |-- pageant

| | | `-- pageant.dsp

| | |-- plink

| | | `-- plink.dsp

| | |-- pscp

| | | `-- pscp.dsp

| | |-- psftp

| | | `-- psftp.dsp

| | |-- putty

| | | `-- putty.dsp

| | |-- putty.dsw

| | |-- puttygen

| | | `-- puttygen.dsp

| | `-- puttytel

| | `-- puttytel.dsp

| |-- Makefile.bor

| |-- Makefile.cyg

| |-- Makefile.lcc

| |-- Makefile.vc

| |-- README.txt

| |-- VS2010

| | |-- pageant

| | | |-- pageant.vcxproj

| | | `-- pageant.vcxproj.filters

| | |-- plink

| | | |-- plink.vcxproj

| | | `-- plink.vcxproj.filters

| | |-- pscp

| | | |-- pscp.vcxproj

| | | `-- pscp.vcxproj.filters

| | |-- psftp

| | | |-- psftp.vcxproj

| | | `-- psftp.vcxproj.filters

| | |-- putty

| | | |-- putty.vcxproj

| | | `-- putty.vcxproj.filters

| | |-- putty.sln

| | |-- puttygen

| | | |-- puttygen.vcxproj

| | | `-- puttygen.vcxproj.filters

| | `-- puttytel

| | |-- puttytel.vcxproj

| | `-- puttytel.vcxproj.filters

| |-- VS2012

| | |-- pageant

| | | |-- pageant.vcxproj

| | | `-- pageant.vcxproj.filters

| | |-- plink

| | | |-- plink.vcxproj

| | | `-- plink.vcxproj.filters

| | |-- pscp

| | | |-- pscp.vcxproj

| | | `-- pscp.vcxproj.filters

| | |-- psftp

| | | |-- psftp.vcxproj

| | | `-- psftp.vcxproj.filters

| | |-- putty

| | | |-- putty.vcxproj

| | | `-- putty.vcxproj.filters

| | |-- putty.sln

| | |-- puttygen

| | | |-- puttygen.vcxproj

| | | `-- puttygen.vcxproj.filters

| | `-- puttytel

| | |-- puttytel.vcxproj

| | `-- puttytel.vcxproj.filters

| |-- pageant.ico

| |-- pageant.mft

| |-- pageant.rc

| |-- pageants.ico

| |-- plink.rc

| |-- pscp.ico

| |-- pscp.rc

| |-- psftp.rc

| |-- putty.ico

| |-- putty.iss

| |-- putty.mft

| |-- putty.rc

| |-- puttycfg.ico

| |-- puttygen.ico

| |-- puttygen.mft

| |-- puttygen.rc

| |-- puttyins.ico

| |-- puttytel.rc

| |-- rcstuff.h

| |-- sizetip.c

| |-- version.rc2

| |-- website.url

| |-- win_res.h

| |-- win_res.rc2

| |-- wincfg.c

| |-- wincons.c

| |-- winctrls.c

| |-- windefs.c

| |-- windlg.c

| |-- window.c

| |-- wingss.c

| |-- winhandl.c

| |-- winhelp.c

| |-- winhelp.h

| |-- winhsock.c

| |-- winjump.c

| |-- winmisc.c

| |-- winnet.c

| |-- winnoise.c

| |-- winnojmp.c

| |-- winnpc.c

| |-- winnps.c

| |-- winpgen.c

| |-- winpgnt.c

| |-- winpgntc.c

| |-- winplink.c

| |-- winprint.c

| |-- winproxy.c

| |-- winsecur.c

| |-- winsecur.h

| |-- winser.c

| |-- winsftp.c

| |-- winshare.c

| |-- winstore.c

| |-- winstuff.h

| |-- wintime.c

| |-- winucs.c

| |-- winutils.c

| `-- winx11.c

`-- x11fwd.c

plink源码_putty源码阅读----plink相关推荐

  1. 目前ipad协议和安卓协议能实现微信百分之90功能 扫码进群 注册 阅读 关注支付功能等都能实现吗?ipad协议源码

    目前ipad协议和安卓协议能实现微信百分之90功能 扫码进群 注册 阅读 关注 支付功能等都能实现 需要协议 联系作者薇WLWCXKF 最新版本 功能强大 稳定一手 getLoginQRCode (获 ...

  2. 【Mybatis源码】源码分析

    [Mybatis源码]源码分析 (一)Mybatis重要组件 [1]四大核心组件 (1)SqlSessionFactoryBuilder (2)SqlSessionFactory (3)SqlSess ...

  3. 安卓调用日历提醒,并实现闹钟提醒功能,在miui上测试通过,日历提醒闹钟设置失败解决(附源码,源码已更新)

    不想看教程的可以直接走这里的后门去下载源码(源码已更新),源码小米手机亲测通过,有问题可以私信我:源码下载https://download.csdn.net/download/Spy003/87418 ...

  4. 【Android源码】源码分析深度好文+精编内核解析分享

    阅读Android源码的好处有很多,比如:可以加深我们对系统的了解:可以参考牛人优雅的代码实现:可以从根本上找出一些bug的原因-我们应该庆幸Android是开源的,所有的功能都可以看到实现,所有的b ...

  5. 【spring源码】源码分析

    [spring源码]源码分析 (一)mac版idea引入spring源码 (二)spring的学习流程 (三)spring源码分析 [1]refresh()方法概览(AbstractApplicati ...

  6. java 头尾 队列_源码|jdk源码之栈、队列及ArrayDeque分析

    栈.队列.双端队列都是非常经典的数据结构.和链表.数组不同,这三种数据结构的抽象层次更高.它只描述了数据结构有哪些行为,而并不关心数据结构内部用何种思路.方式去组织. 本篇博文重点关注这三种数据结构在 ...

  7. Flink源码分析 - 源码构建

    本篇文章首发于头条号Flink源码分析 - 源码构建,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的C ...

  8. Dapper源码学习和源码修改(下篇)

    继上篇Dapper源码学习和源码修改 讲了下自己学习Dapper的心得之后,下篇也随之而来,上篇主要讲的入参解析那下篇自然主打出参映射了. 好了,废话不多说,开始吧. 学习之前你的先学习怎么使用Dap ...

  9. [Android源码]Android源码之高仿飞鸽传书WIFI热点搜索与创建(一)

    (本文详情来源:android源码 http://www.eoeandroid.com/thread-296427-1-1.html   转载请注明出处!)  [Android源码分享]飞鸽传书的An ...

最新文章

  1. 一位软件工程师的6年总结【转】
  2. Windows Server 2016虚拟机克隆后修改安全标识SID
  3. 如何改变本地git的根目录
  4. Android接入支付宝支付实现
  5. java观察者_Java中的观察者模式
  6. Silverlight 自定义表格 转
  7. Json格式类的转换相关代码--转载
  8. django-xadmin隐藏菜单不显示
  9. 一些python书=待买
  10. VS2015编译程序兼容XP
  11. 打开catia界面全是白色怎么办_别输在细节上!CATIA零件表面写字技巧
  12. Python 文本生僻字判定和拼音标注脚本
  13. 基于ROS2多机器人编程资料
  14. 计算机dvd驱动错误,修正:一个错误发生在弹出的CD/DVD驱动器在Windows 10
  15. web第四天(使用CSS变换效果、过度效果、动画)
  16. 安卓平台中国眼实时视频软件之视频源分析
  17. 常用SEISMIC BINARY数据的读取
  18. spring源码解析之IOC核心体系结构
  19. ruby: 在Ubuntu上安装Ruby, ruby gems
  20. Vue进阶(贰零柒):Webpack 性能优化措施汇总

热门文章

  1. 同花顺_代码解析_技术指标_A
  2. 公交实时位置查询APP
  3. CR安装教程|效果图设计师怎么按步骤安装CORONA渲染器?CR安装教程|3dmax疯狂渲染大师怎么安装CORONA渲染器?食住玩3dmax千千问
  4. 毕业论文参考文献格式CSL的生成(有鱼也有渔)
  5. 佛祖保佑 永无BUG ; 心外无法 法外无心
  6. 锂电池可靠性测试项目有哪些?
  7. 将目录下所有文件名字列出并导出为txt文件
  8. Java_Day_14_常用Api_总结
  9. PHP goto语句加密的解密全过程(实战)
  10. mediasoup 源码分析(二十六)SRTP