亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sshio.java

?? java 平臺 telnet 繁體中文版
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/** * SshIO  * -- *  * This file implments the SSH protocol 1.5 * * $Id: SshIO.java,v 1.18 2000/12/20 21:48:30 marcus Exp $ * * The protocol version used in this document is SSH protocol version 1.5. * This file is part of "The Java Ssh Applet". */package de.mud.ssh;import java.io.IOException;//import java.security.SecureRandom; //not supported by netscapeimport de.mud.ssh.MD5; public abstract class SshIO {  private MD5 md5 = new MD5();  /**   * variables for the connection   */  private String identification_string = ""; //("SSH-<protocolmajor>.<protocolminor>-<version>\n")  private String identification_string_sent = "SSH-1.5-Java Ssh 1.1 (16/09/99) leo@mud.de, original by Cedric Gourio (javassh@france-mail.com)\n";  /**   * Debug level. This results in additional diagnostic messages on the   * java console.   */  private static int debug = 0;  /**   * State variable for Ssh negotiation reader   */  private boolean encryption = false;  private SshCrypto crypto;  SshPacket lastPacketReceived;  String cipher_type = "IDEA";						  private String login = "", password = "";   //nobody is to access those fields  : better to use pivate, nobody knows :-)  public String dataToSend = null;  public String hashHostKey = null;  // equals to the applet parameter if any   byte lastPacketSentType;     // phase : handleBytes  private int phase = 0;  private final int PHASE_INIT 			= 0;  private final int PHASE_SSH_RECEIVE_PACKET	= 1;			  //handlePacket  //messages  //  The supported packet types and the corresponding message numbers are  //	given in the following table.  Messages with _MSG_ in their name may  //	be sent by either side.  Messages with _CMSG_ are only sent by the  //  client, and messages with _SMSG_ only by the server.  //  private final int SSH_MSG_DISCONNECT =		1;  private final int SSH_SMSG_PUBLIC_KEY =		2;  private final int SSH_CMSG_SESSION_KEY =		3;	  private final int SSH_CMSG_USER =			4;  private final int SSH_CMSG_AUTH_PASSWORD =		9;  private final int SSH_CMSG_REQUEST_PTY =		10;  private final int SSH_CMSG_EXEC_SHELL =		12;  private final int SSH_SMSG_SUCCESS =			14;  private final int SSH_SMSG_FAILURE =			15;  private final int SSH_CMSG_STDIN_DATA =		16;  private final int SSH_SMSG_STDOUT_DATA =		17;  private final int SSH_SMSG_STDERR_DATA =		18;  private final int SSH_SMSG_EXITSTATUS =		20;  private final int SSH_CMSG_EXIT_CONFIRMATION =	33;  private final int SSH_MSG_DEBUG =	36;  //used in getPacket  private int position = 0;				// used to know, how far we are in packet_length_array[], padding[] ...  //  // encryption types  //  private int SSH_CIPHER_NONE = 0;	 // No encryption  private int SSH_CIPHER_IDEA = 1;  // IDEA in CFB mode		(patented)  private int SSH_CIPHER_DES  = 2;  // DES in CBC mode  private int SSH_CIPHER_3DES = 3;  // Triple-DES in CBC mode  private int SSH_CIPHER_TSS  = 4;  // An experimental stream cipher  private int SSH_CIPHER_RC4  = 5;  // RC4			(patented)  private int SSH_CIPHER_BLOWFISH  = 6;	// Bruce Scheiers blowfish (public d)		  //	  // authentication methods   //  private final int SSH_AUTH_RHOSTS =		1;   //.rhosts or /etc/hosts.equiv  private final int SSH_AUTH_RSA =			2;   //pure RSA authentication  private final int SSH_AUTH_PASSWORD =	3;   //password authentication, implemented !  private final int SSH_AUTH_RHOSTS_RSA =  4;   //.rhosts with RSA host authentication  private boolean cansenddata = false;  /**   * Initialise SshIO   */  public SshIO() {    encryption = false;  }  public void setLogin(String user) {    if(user == null) user = "";    login = user;  }  public void setPassword(String password) {    if(password == null) password = "";    this.password = password;  }  /**   * Read data from the remote host. Blocks until data is available.    *    * Returns an array of bytes that will be displayed.   *    */  synchronized public byte[] handleSSH(byte[] b) throws IOException {    byte[] result = packetDone(handleBytes(b, 0, b.length));    while(lastPacketReceived != null && lastPacketReceived.toBeFinished) {      byte[] buff = lastPacketReceived.unfinishedBuffer;      int start = lastPacketReceived.positionInUnfinishedBuffer;      if(buff != null) {        byte[] rest = packetDone(handleBytes(buff, start, buff.length));	if(rest != null) {	  if(result != null) {	    byte[] tmp = new byte[rest.length + result.length];            System.arraycopy(result, 0, tmp, 0, result.length);	    System.arraycopy(rest, 0, tmp, result.length , rest.length);	    result = tmp;	} else	  result=rest;      }    }    } // while    /*    for(int i = 0; result != null && i < result.length; i++)       System.err.print(result[i]+":"+(char)result[i]+" ");    */    return result;  }  private byte[] packetDone(SshPacket packet) throws IOException {    if(packet == null) return null;    lastPacketReceived = packet;    byte result[] = handlePacket(lastPacketReceived.getType(),                                 lastPacketReceived.getData());    return result; }	  protected abstract void write(byte[] buf) throws IOException;  public abstract String getTerminalType();  byte[] one = new byte[1];  private void write(byte b) throws IOException {    one[0] = b;    write(one);  }  public void disconnect() {    // System.err.println("In Disconnect");    login = "";    password = "";     phase=0;    encryption = false;    lastPacketReceived = null;  }  synchronized public void sendData(String str) throws IOException {    if(debug > 1) System.out.println( "SshIO.send(" + str + ")" );    if (dataToSend==null) dataToSend = str;    else dataToSend += str;    if (cansenddata) {	Send_SSH_CMSG_STDIN_DATA(dataToSend);	dataToSend = null;    }  }  private SshPacket handleBytes(byte buff[], int offset, int count)     throws IOException {		    if(debug > 1)       System.out.println("SshIO.getPacket(" + buff + "," + count + ")" );		    byte b;  		// of course, byte is a signed entity (-128 -> 127)    int boffset = offset;	// offset in the buffer received 			    while(boffset < count) {      b=buff[boffset++];	      switch(phase) {      case PHASE_INIT: 	// both sides MUST send an identification string of the form 	// "SSH-protoversion-softwareversion comments", 	// followed by newline character(ascii 10 = '\n' or '\r') 					identification_string += (char) b;	if (b=='\n') { 	  phase++; 	  write(identification_string_sent.getBytes());	  position = 0;	  byte[] data = SshMisc.createString(identification_string);	  byte packet_type = SSH_SMSG_STDOUT_DATA;	  return createPacket(packet_type, data);	}	break;      case PHASE_SSH_RECEIVE_PACKET:	SshPacket result = lastPacketReceived.getPacketfromBytes(buff,boffset-1,count,encryption,crypto);	return 	result;      } // switch(phase)     } 	//while(boffset < count) 			    return null;  }//getPacket		  //  // Create a packet   //  private SshPacket createPacket(byte newType, byte[] newData)  throws IOException {     return new SshPacket(newType, newData,encryption,crypto);  } 	  private byte[] handlePacket(byte packetType, byte[] packetData)     throws IOException { //the message to handle is data and its length is     //if(debug > 1) w    //System.out.println("SshIO.handlePacket("+data+","+ (packet_length - 5) +")");		    byte b;  		// of course, byte is a signed entity (-128 -> 127)    int boffset = 0;	//offset in the buffer received     //we have to deal with data....			    if(debug > 0)      System.out.println("1 packet to handle, type "+packetType);    switch(packetType) {    case SSH_MSG_DISCONNECT:      String str = SshMisc.getString(boffset, packetData);      disconnect();      return str.getBytes();    case SSH_SMSG_PUBLIC_KEY:      byte[] anti_spoofing_cookie = new  byte[8];	//8 bytes      byte[] server_key_bits = new  byte[4];		//32-bit int      byte[] server_key_public_exponent;		//mp-int      byte[] server_key_public_modulus;			//mp-int      byte[] host_key_bits = new  byte[4];		//32-bit int      byte[] host_key_public_exponent;			//mp-int      byte[] host_key_public_modulus;			//mp-int      byte[] protocol_flags = new  byte[4];		//32-bit int      byte[] supported_ciphers_mask = new  byte[4];	//32-bit int      byte[] supported_authentications_mask = new  byte[4];	//32-bit int			      for(int i=0;i<=7;i++) anti_spoofing_cookie[i] = packetData[boffset++];      for(int i=0;i<=3;i++) server_key_bits[i] = packetData[boffset++];      server_key_public_exponent = SshMisc.getMpInt(boffset,packetData); //boffset is not modified :-(      boffset += server_key_public_exponent.length+2;      server_key_public_modulus = SshMisc.getMpInt(boffset,packetData);      boffset += server_key_public_modulus.length+2;      for(int i=0;i<=3;i++) host_key_bits[i] = packetData[boffset++];      host_key_public_exponent = SshMisc.getMpInt(boffset,packetData);      boffset += host_key_public_exponent.length+2;      host_key_public_modulus = SshMisc.getMpInt(boffset,packetData); // boffset can not be modified (Java = crap Language)      boffset += host_key_public_modulus.length+2;      for(int i=0;i<4;i++) protocol_flags[i] = packetData[boffset++];      for(int i=0;i<4;i++) supported_ciphers_mask[i] = packetData[boffset++];      for(int i=0;i<4;i++) supported_authentications_mask[i] = packetData[boffset++];	// we have completely received the PUBLIC_KEY	// we prepare the answer ...      byte ret[] = Send_SSH_CMSG_SESSION_KEY(	anti_spoofing_cookie, server_key_public_modulus,	host_key_public_modulus, supported_ciphers_mask,	server_key_public_exponent, host_key_public_exponent      );      if (ret != null)	  return ret;					// we check if MD5(server_key_public_exponent) is equals to the 	// applet parameter if any .      if (hashHostKey!=null && hashHostKey.compareTo("")!=0) {	// we compute hashHostKeyBis the hash value in hexa of 	// host_key_public_modulus	byte[] Md5_hostKey = md5.hash(host_key_public_modulus);	String hashHostKeyBis = "";	for(int i=0; i < Md5_hostKey.length; i++) {	  String hex = "";	  int[] v = new int[2];	  v[0] = (Md5_hostKey[i]&240)>>4;	  v[1] = (Md5_hostKey[i]&15);	  for (int j=0; j<1; j++)	    switch (v[j]) {	    case 10 : hex +="a"; break;	    case 11 : hex +="b"; break;	    case 12 : hex +="c"; break;	    case 13 : hex +="d"; break;	    case 14 : hex +="e"; break;	    case 15 : hex +="f"; break;	    default : hex +=String.valueOf(v[j]);break;	    }	  hashHostKeyBis = hashHostKeyBis + hex;	}	//we compare the 2 values	if (hashHostKeyBis.compareTo(hashHostKey)!=0) {	  login = password = "";	  return ("\nHash value of the host key not correct \r\n"		 +"login & password have been reset \r\n"	  	 +"- erase the 'hashHostKey' parameter in the Html\r\n"	  	 +"(it is used for auhentificating the server and "	  	 +"prevent you from connecting \r\n"	  	 +"to any other)\r\n").getBytes();	}      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a人v欧美综合天堂| 椎名由奈av一区二区三区| 日韩视频一区二区在线观看| 91精品综合久久久久久| 日韩久久免费av| 久久久777精品电影网影网| 国产精品久久久久影院老司| 亚洲一区二区三区精品在线| 激情久久五月天| 91成人免费电影| 久久老女人爱爱| 日本中文字幕一区| 99麻豆久久久国产精品免费 | 欧美激情一区在线| √…a在线天堂一区| 激情综合五月天| 欧美四级电影网| 中文字幕在线观看一区| 毛片不卡一区二区| 欧美美女一区二区在线观看| 国产欧美日韩在线观看| 欧美一区二区三区白人| 成人av在线电影| 欧美一卡在线观看| 亚洲精品欧美激情| 91视频一区二区| 欧美一区二区在线不卡| 国产午夜精品福利| 久久精品国产999大香线蕉| 欧美日韩一区二区三区四区 | 麻豆成人91精品二区三区| 91浏览器打开| 国产精品久久久久精k8| 国产高清不卡二三区| 日韩一区二区高清| 亚洲午夜在线电影| 成人一区在线看| 国产性色一区二区| 狠狠色丁香久久婷婷综| 国产亚洲精品7777| 不卡视频一二三| 国产精品色婷婷久久58| 成人av在线资源网站| 中文字幕成人av| 91片黄在线观看| 午夜不卡av免费| 欧美成人性战久久| 国产成人aaa| 一区二区三区在线免费播放| 色综合久久天天| 亚洲不卡一区二区三区| 91精品久久久久久久99蜜桃 | 久久久久久久综合日本| 成人深夜在线观看| 亚洲一区二区三区小说| 欧美日韩综合在线| 国产高清无密码一区二区三区| 日本一区二区三区久久久久久久久不| 91蝌蚪国产九色| 视频一区欧美日韩| 久久久综合网站| 日韩美女视频一区二区在线观看| aaa亚洲精品| 日韩有码一区二区三区| 中文字幕一区二区在线播放| 欧美日韩精品一区二区三区| 国产一区不卡在线| 亚洲成人精品一区| 日韩一区在线播放| 国产精品美日韩| 欧美高清视频一二三区| 色偷偷成人一区二区三区91| 国产精品综合久久| 亚洲影院在线观看| 亚洲激情自拍视频| 亚洲免费三区一区二区| 日本一区二区久久| 久久精品水蜜桃av综合天堂| 欧美久久久久免费| 欧美老肥妇做.爰bbww| 欧洲一区二区三区在线| 99久久国产综合精品色伊| 国产又粗又猛又爽又黄91精品| 免费成人在线观看视频| 午夜不卡在线视频| 五月婷婷久久综合| 丝袜亚洲另类欧美| 极品尤物av久久免费看| 国产一区二区0| 国产精品亚洲午夜一区二区三区| 国产伦精品一区二区三区在线观看| 美女网站一区二区| 国产91丝袜在线18| 一本一道波多野结衣一区二区| 成人一区二区三区视频 | 欧美久久婷婷综合色| 日韩欧美一区在线| 欧美mv日韩mv亚洲| 亚洲乱码中文字幕| 国内外成人在线| 欧日韩精品视频| 欧美电影影音先锋| 国产偷v国产偷v亚洲高清| 亚洲午夜羞羞片| 经典三级一区二区| 91黄色在线观看| 精品免费视频.| 亚洲国产一区二区在线播放| 国产一区二区三区| 欧美日本韩国一区| 亚洲欧美在线高清| 韩国v欧美v日本v亚洲v| 99re6这里只有精品视频在线观看| 日韩欧美自拍偷拍| 亚洲一区二区三区爽爽爽爽爽| 国产成人自拍高清视频在线免费播放| 一本到不卡免费一区二区| 欧美极品美女视频| 麻豆成人久久精品二区三区小说| 91久久线看在观草草青青| 国产精品午夜免费| 不卡的av电影在线观看| 久久久久久久久一| 国产综合色精品一区二区三区| 欧美丝袜丝nylons| 日本欧美肥老太交大片| 宅男在线国产精品| 亚洲国产视频直播| 欧美日韩一区精品| 成人欧美一区二区三区白人| 久久99国产乱子伦精品免费| 69久久99精品久久久久婷婷| 亚洲一区在线视频| 欧美一区二区三区免费| 亚洲国产成人av| 7777精品伊人久久久大香线蕉的| 欧美aⅴ一区二区三区视频| 欧美精品 日韩| 国产资源精品在线观看| 久久久久久免费网| 91亚洲国产成人精品一区二三| 亚洲二区在线观看| 精品国产亚洲在线| 成人av综合在线| 国产欧美日韩一区二区三区在线观看| 亚洲男人天堂av网| 色先锋aa成人| 国产专区欧美精品| 中文字幕在线观看不卡| 欧美群妇大交群的观看方式| 风间由美性色一区二区三区| 欧美国产丝袜视频| 欧美一区二区在线免费播放| 色伊人久久综合中文字幕| 蜜臀精品一区二区三区在线观看| 国产色一区二区| 日韩一区二区免费高清| 91免费看`日韩一区二区| 另类小说视频一区二区| 亚洲一区二区三区在线看| 精品第一国产综合精品aⅴ| 一本久道久久综合中文字幕| 国产午夜精品一区二区三区嫩草| 色婷婷亚洲婷婷| 国产美女精品人人做人人爽 | 亚洲欧洲一区二区三区| 欧美一区二区久久久| 欧美天天综合网| 欧美亚洲一区三区| 97久久超碰国产精品| 国产夫妻精品视频| 成人小视频免费在线观看| 国产一区欧美一区| 国产精品一区二区黑丝| 国产91丝袜在线观看| 不卡视频一二三四| 91视频免费看| 欧美三区免费完整视频在线观看| 色综合久久中文字幕综合网| 色婷婷久久综合| 国产不卡视频在线观看| 国产精品影视网| 国产河南妇女毛片精品久久久| 激情小说亚洲一区| 成人免费的视频| 日本高清不卡在线观看| 色呦呦一区二区三区| 欧美日韩一级视频| 欧美成人欧美edvon| 国产目拍亚洲精品99久久精品| 亚洲免费在线视频一区 二区| 亚洲高清免费观看| 成人av在线看| 91精品福利在线一区二区三区 | 老司机精品视频一区二区三区| 国产精品自拍三区| 欧美精品丝袜中出| 亚洲色大成网站www久久九九| 日韩av中文字幕一区二区三区 | 欧美电影精品一区二区|