wireshake抓包,飞秋发送信息,python

http://wenku.baidu.com/link?url=Xze_JY8T15pqI9mBLRpTxWF2d6MP-32xb6UwuE6tsUmitRDheJe-Ju87WlDEDBGuI5MFyhtBfn4QeKxfq5GVaMnx9O5a3ngQ1f-sMA8LYJa

# coding=utf-8
#import socket
#udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#udp.connect((‘localhost‘,2425))
#udp.send(‘1:100:aaaaa:zhang:32:hello every body‘)
#udp.send(‘1_lbt4_10#32899#002481627512#0#0#0:1289671407:flyingzl:flyingz l:288:一日不见,如三月兮‘)
#coding=utf-8
import dpkt
import sendpkt
from socket import inet_aton
from time import strftime
import socket
import types
import uuid
#本地网关MAC地址,可以通过如下方式获取:
#C:\Users\Administrator>arp -a
#接口: 192.168.0.100 --- 0xb
#  Internet 地址  物理地址              类型
#  192.168.0.1    00-03-47-ca-e4-5c     动态
MASK_MAC=‘4c-5e-0c-b1-50-29‘
def get_local_mac():
 ‘‘‘
获得本机Mac地址
 ‘‘‘
 mac=uuid.uuid1().hex[-12:]
 return ‘-‘.join([mac[(i-1)*2:2*i] for i in range(1,7)])
def send_msg(kwargs):
 ‘‘‘
发送消息,kwargs参数为一个dict对象
 ‘‘‘
 if type(kwargs) is not types.DictType:
  return
#本机ip地址
local_ip=kwargs.get(‘src‘,socket.gethostbyname(socket.gethostname()))
#转码后的源ip地址
src_ip=inet_aton(local_ip)
#转码后的目的ip地址
dst_ip=inet_aton(kwargs.get(‘dst‘))
#本机mac地址
local_mac=kwargs.get(‘src_mac‘,get_local_mac())
#转码后的源mac地址
src_mac=pack_mac(local_mac)
#判断remote_ip和local_ip是否在同一个网段
#转码后的目的mac地址
dst_mac=pack_mac(kwargs.get(‘dst_mac‘))if trans(local_ip)==trans(kwargs.get(‘dst‘)) else pack_mac(MASK_MAC)
host=kwargs.get(‘host‘,socket.gethostname())
user=kwargs.get(‘user‘,‘User‘)
msg=kwargs.get(‘msg‘,‘Hello‘)
#找到第一个网络端口,根据自己的情况修改
#安装了VirtualBox、VMWare或者有无线网卡的同学得自己修改下
device=sendpkt.findalldevs()[0]
#飞鸽监听本地的UDP 2425端口
udp=dpkt.udp.UDP(dport=2425,sport=2425)
#向飞鸽发送消息命令字
#6291458表示下线
#6291457表示上线
#288表示发送信息
#如果是飞秋,65664这个状态会在对方上显示为两个太阳
msg="1_lbt4_10#65664#%s#0#0#0:%s:%s:%s:288:%s" %(local_mac.replace(‘-‘,‘‘),int(strftime(‘%m%d%H%M%S‘))+100000000,user,host,msg)
msg=msg.encode("utf-8")
udp.data+=msg
udp.ulen=len(udp)  

ip=dpkt.ip.IP(src=src_ip,dst=dst_ip,data=udp,p=dpkt.ip.IP_PROTO_UDP)
#重新计算ip的长度,不然消息发送不出去
ip.len=len(ip)  

ether=dpkt.ethernet.Ethernet(
       dst=dst_mac,
       src=src_mac,
       type=0x0800,
       data=ip
)
sendpkt.sendpacket(str(ether),device)  

def trans(ip,mask=‘255.255.255.0‘):
 ‘‘‘
   判断两个ip地址是否在同一个网段
 ‘‘‘
 str=[]
 ip=ip.split(".")
 mask=mask.split(".")
 for index,item in enumerate(ip):
   str.append(int(item)&int(mask[index]))
 return str  

def pack_mac(mac,pattern=‘-‘):
 ‘‘‘
 网卡地址转为以太网Mac地址
 例如将"08-00-27-ba-f7-e5"转为"\x08\x00‘\xba\xf7\xe5"
 ‘‘‘
 mac=mac.split(pattern.lower())
 return "".join([chr(int(‘0x‘+x,16)) for x in mac])  

if __name__=="__main__":
 s={
    ‘src‘:‘192.168.155.1‘,
	       ‘dst‘:‘192.168.155.1‘,
	       ‘src_mac‘:‘ff-ff-ff-ff-ff-ff‘,
	       #这个地址最好别写错,可以从飞鸽上看到好友的Mac地址
	       ‘dst_mac‘:‘ff-ff-ff-ff-ff-ff‘,
	       	‘host‘:‘哈哈‘,
	       ‘user‘:‘呵呵‘,
	       ‘msg‘:‘加班呀?‘
}
send_msg(s)
时间: 2024-10-08 01:22:48

wireshake抓包,飞秋发送信息,python的相关文章

wireshark抓包获取网站登录信息

最近有个需求,用python实现自动回复某个帖子,达到人工置顶的目的. 要自动回复,自然要先登录,所以需要获取到登录时http post提交的用户信息,抓包工具使用wireshark. 默认已经配置好wireshark,并且具备计算机网络的基础知识,如果不具备请自行百度. 用来登录的网页是天涯登录 首先,我们要知道本机的IP地址和点击登录页面的登录按钮后要向他发出http请求的机器的ip地址,前者用ipconfig或者mac下使用ifconfig知道,后者的话需要打开网页源码获取响应服务器的网址

Python+Requests接口测试教程(1):Fiddler抓包工具

本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测试和python+requests自动化的,首先本书确实写的比较基础,对基础内容也写的很详细,所以大神绕道. 为什么要先学fiddler? 学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 1.1 抓fir

利用WinPcap模拟网络包伪造飞秋闪屏报文

起因 不知道从什么时候开始,同事开始在飞秋上发闪屏振动了,后来变本加厉,成了每日一闪.老闪回去也比较麻烦,作为程序猿呢,有没有什么偷懒的办法呢?(同事负责用户体验,不大懂编程).然后尝试了以下思路: UI自动化 利用UISpy查看飞秋聊天窗口,悲催的发现找不到发送闪屏振动的按钮. 模拟鼠标事件 准备使用mouse_event发送鼠标事件来模拟闪屏振动的按下.但是一想,每次闪屏振动按钮所在的位置不一样,要是移动窗口或者改变窗口布局,都得重新设置坐标,麻烦,遂弃之. 伪造网络报文 以前就知道WinP

Fiddler抓包工具

Python+Requests接口测试教程(1):Fiddler抓包工具 欢迎您来阅读和练手!您将会从本章的详细讲解中,获取很大的收获!开始学习吧! 目录 为什么要先学fiddler? 1.1 抓firefox上https请求 1.2 证书导出失败问题 1.3 只抓APP的请求 1.4 查看get与post请求 1.5 工具介绍(request和response) 1.6 接口测试(Composer) 1.7 get请求(url详解) 1.8 post请求(body) 1.9 打断点(bpu)

wiresherk抓包之旅

wireshark的原名是Ethereal,新名字是2006年起用的.当时Ethereal的主要开发者Gerald决定离开他原来供职的公司NIS,并继续开发这个软件.但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了. Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息,也是网络工程师.信息安全工程师必备的一个工具之一. Wireshark下载:https://www.

Wireshark抓包实例分析TCP重复ACK与乱序

转载请在文首保留原文出处: EMC 中文支持论坛https://community.emc.com/go/chinese 介绍 TCP 的一大常见问题在于重复 ACK 与快速重传.这一现象的发生也是由于性能问题,本章讨论如何发现这一问题以及他们意味着什么. 另一个常见问题是前一片段丢失以及乱序片段.某些情况下,这一现象喻示着故障发生,可能是由于网络问题或是抓包中断. 更多信息 重复 ACK 与快速重传 : 当网速变慢时,重复 ACK 是可能的原因之一.大多数情况下,重复 ACK 的发生是由于高延

九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解

封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import json import random import re import urllib.error def hq_html(hq_url): """ hq_html()封装的爬虫函数,自动启用了用户代理和ip代理 接收一个参数url,要爬取页面的url,返回html源码 "

jmeter编写脚本之抓包实战

以下针对http协议请求 很多网友还在困惑怎么编写jmeter脚本 初学者喜欢使用badboy这个抓包工具,方便的是,可以自动把抓包请求,转化成jmx脚本 但是,包括其他自动抓包工具都有弊端, 就是,抓到的请求太多,而不能准确知道,那些请求是有用的,需要一个一个去试, 还有就是,操作比较麻烦,要么设置代理,要么在其代理浏览器运行... 在这里我给大家介绍下,几种手工抓包工具,做性能测试工程师,需了解真实的请求包 一个http请求,我们重点要关注的有一下几点 1. path:除去域名和端口的后缀部

Fiddler抓包3-查看get与post请求

前言 前面两篇关于Fiddler抓包的一些基本配置,配置完之后就可以抓到我们想要的数据了,接下来就是如何去分析这些数据. 本篇以博客园的请求为例,简单分析get与post数据有何不一样,以后也能分辨出哪些是get,哪些是post了. 一.get请求 1.打开fiddler工具,然后浏览器输入博客首页地址:http://www.cnblogs.com/yoyoketang/ 2.点开右侧Inspectors下的Headers区域,查看Request Headers 3.Request Header