Python网络编程7-对Telnet流量进行解码分析与拦截

Python017

Python网络编程7-对Telnet流量进行解码分析与拦截,第1张

  Telnet命令通常用来远程登录。Telnet程序是基于TELNET协议的远程登录客户端程序。提供了在本地计算机上完成远程主机工作的 能力,在终端使用者的电脑上使用telnet程序,用它连接到服务器,终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器。

  Telnet因为采用明文传送报文,安全性不好。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。telnet命令还可做别的用途:

  Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。Telnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,允许界面终端设备和面向终端的过程能通过一个标准过程进行互相交互。

  为理解Telnet工作过程与使用Python来分析流量,搭建如下环境:

  在R2上启用Telnet作为服务端,在linux主机上安装Telnet程序作为客户端,同时通Wirshark远程捕获Linux 主机在接口流量,在Linux主机上运行Python脚本来分析Telnet流量。

  使用如下Python脚本来捕获Telnet流量,并对Telnet交互命令进行解码。

  使用如下Python脚本对Telnet流量进行嗅探,发现Telnet流量之后发送TCP Reset对Telnet会话进行阻断。

在Linux 主机上先运行Python脚本,在运行Telnet程序。

发现此时无法连接到主机。

查看脚本运行脚本,可见一铺货到Telnet流量就会给双方发送TCP Reset。

在Wirshark上查看数据包交换如下

1:需要更改youproxyip为你一个你已经拥有的代理ip,或者,不用填写,因为后边的use_proxy=False, 这个时候你确保你能够不适用代理访问到代码中的两个自动抓取代理ip地址的网站

2:/home/zhangzhiming/git/phantomjs/bin/phantomjs 这个路径是你安装的phantomjs路径

3:代码中有两个获取代理的方法,例子中选择了一个。

python可以处理大数据,python处理大数据不一定是最优的选择。适合大数据处理。而不是大数据量处理。 如果大数据量处理,需要采用并用结构,比如在hadoop上使用python,或者是自己做的分布式处理框架。

python的优势不在于运行效率,而在于开发效率和高可维护性。针对特定的问题挑选合适的工具,本身也是一项技术能力。

Python处理数据的优势(不是处理大数据):

1. 异常快捷的开发速度,代码量巨少

2. 丰富的数据处理包,不管正则也好,html解析啦,xml解析啦,用起来非常方便

3. 内部类型使用成本巨低,不需要额外怎么操作(java,c++用个map都很费劲)

4. 公司中,很大量的数据处理工作工作是不需要面对非常大的数据的

5. 巨大的数据不是语言所能解决的,需要处理数据的框架(hadoop, mpi)虽然小众,但是python还是有处理大数据的框架的,或者一些框架也支持python。

扩展资料:

Python处理数据缺点:

Python处理大数据的劣势:

1、python线程有gil,通俗说就是多线程的时候只能在一个核上跑,浪费了多核服务器。在一种常见的场景下是要命的:并发单元之间有巨大的数据共享或者共用(例如大dict)。

多进程会导致内存吃紧,多线程则解决不了数据共享的问题,单独的写一个进程之间负责维护读写这个数据不仅效率不高而且麻烦

2、python执行效率不高,在处理大数据的时候,效率不高,这是真的,pypy(一个jit的python解释器,可以理解成脚本语言加速执行的东西)能够提高很大的速度,但是pypy不支持很多python经典的包,例如numpy。

3. 绝大部分的大公司,用java处理大数据不管是环境也好,积累也好,都会好很多。

参考资料来源:百度百科-Python