20199303 2019-2020-2 práctica tres red práctica sniffer y el protocolo de análisis

Tarea uno: De acuerdo con el código de referencia de libros de texto, preparado para tener una sencilla herramienta de captura de red, los requisitos de los códigos básicos y los resultados operativos capturas de pantalla 1-2 hojas.

PCAP es un formato de flujo de datos, software Wireshark puede fluir directamente en el formato de red de datos.
En Linux, PCAP puede decirse que es un formato de flujo de datos común, muchos proyectos de código abierto necesitan utilizar los archivos en este formato.


Cabecera global (total de 24 bytes)
todo el archivo de flujo, no sólo será una cabecera global, que define las reglas de leer este documento, el límite máximo de longitud de almacenamiento, etc;
Magic: 4byte: Archivo de la etiqueta comienza, y para identificar sus propios archivos y orden de bytes. 0xa1b2c3d4 utiliza para representar la secuencia original leído, 0xd4c3b2a1 representa la siguiente secuencia de bytes a la conmutación de lectura. Teniendo en cuenta la estructura de almacenamiento en una memoria de ordenador, típicamente utilizando 0xd4c3b2a1, es decir, se requiere que todos los bytes de intercambiar el orden de lectura.
Mayor: 2Byte: mayor número de versión del archivo actual, por lo general 0x0200
Menor: 2Byte: el número actual documento de versión menor, por lo general 0x0400
ThisZone: 4byte: hora local estándar, si se utiliza GMT es todo ceros, por lo general directamente escritura 0000 0000
SigFigs: 4byte: marca de tiempo de precisión, juego a todos los ceros a
snaplen: 4byte: duración máxima de almacenamiento, si quieres para agarrar todo el paquete a ffff 0000, pero en general es suficiente [0000 ff7f el equipo debe ser visto ff7f 0000]
LinkType: 4byte: tipo de enlace, hay varios tipo comúnmente usado, por otra, el tiempo necesario para comprobar de nuevo en la línea.
Paquete de Cabecera (en total 16 Byte)
Paquete de Cabecera puede ser una pluralidad, detrás de cada encabezado de los paquetes de datos en paquetes será seguido por una secuencia, encabezado de los paquetes de datos en paquetes define la longitud, la información de marca de tiempo.

from scapy.sendrecv import sniff
from scapy.utils import wrpcap
dpkt = sniff(count = 100) #这里是针对单网卡的机子,多网卡的可以在参数中指定网卡
wrpcap("demo.pcap", dpkt)
import struct

fpcap = open('demo.pcap','rb')
ftxt = open('demo.txt','w')

string_data = fpcap.read()

#pcap文件包头解析 ,共计24byte
pcap_header = {}
pcap_header['magic_number'] = string_data[0:4] #标记文件开始,并用来识别文件自己和字节顺序。
pcap_header['version_major'] = string_data[4:6] #当前文件主要的版本号,一般为 0x0200【实际上因为需要交换读取顺序,所以计算机看到的应该是 0x0002】
pcap_header['version_minor'] = string_data[6:8] #当前文件次要的版本号,一般为 0x0400【计算机看到的应该是 0x0004】
pcap_header['thiszone'] = string_data[8:12] #当地的标准时间,如果用的是GMT则全零,一般都直接写 0000 0000
pcap_header['sigfigs'] = string_data[12:16] #时间戳的精度
pcap_header['snaplen'] = string_data[16:20] #最大的存储长度
pcap_header['linktype'] = string_data[20:24]#链路类型
#把pacp文件头信息写入result.txt
ftxt.write("Pcap文件的包头内容如下: \n")
for key in ['magic_number','version_major','version_minor','thiszone',
   'sigfigs','snaplen','linktype']:
   ftxt.write(key+ " : " + repr(pcap_header[key])+'\n')
      

#pcap文件的数据包解析
step = 0
packet_num = 0
packet_data = []

pcap_packet_header = {}
pcap_packet_header_all = []
i =24

while(i<len(string_data)):
 
 #数据包头各个字段
 pcap_packet_header['GMTtime'] = string_data[i:i+4]  #被捕获时间的高位,单位是seconds
 pcap_packet_header['MicroTime'] = string_data[i+4:i+8]  #被捕获时间的低位,单位是microseconds
 pcap_packet_header['caplen'] = string_data[i+8:i+12]#当前数据区的长度,即抓取到的数据帧长度,不包括Packet Header本身的长度,单位是 Byte ,由此可以得到下一个数据帧的位置。
 pcap_packet_header['len'] = string_data[i+12:i+16]  #离线数据长度:网络中实际数据帧的长度,一般不大于caplen,多数情况下和Caplen数值相等。
 #求出此包的包长len
 packet_len = struct.unpack('I',pcap_packet_header['len'])[0]
 #写入此包数据
 packet_data.append(string_data[i+16:i+16+packet_len])
 i = i+ packet_len+16
 packet_num+=1
 pcap_packet_header_all.append(pcap_packet_header)
   
   
   
#把pacp文件里的数据包信息写入result.txt
for i in range(packet_num):
#先写每一包的包头
  ftxt.write("这是第"+str(i)+"包数据的包头和数据:"+'\n')
  for key in ['GMTtime','MicroTime','caplen','len']:
ftxt.write(key+' : '+repr(pcap_packet_header_all[i][key])+'\n')
#再写数据部分
  ftxt.write('此包的数据内容'+repr(packet_data[i])+'\n')
ftxt.write('一共有'+str(packet_num)+"包数据"+'\n')
  
ftxt.close()
fpcap.close()  

Resultando archivo pcap:

generación de documentos txt Acabado

PCAP es un formato de flujo de datos, software Wireshark puede fluir directamente en el formato de red de datos.
En Linux, PCAP puede decirse que es un formato de flujo de datos común, muchos proyectos de código abierto necesitan utilizar los archivos en este formato.

Uso de Wireshark también puede abrir archivos directamente PACp, rastreo para los próximos muestra la imagen del paquete

Tarea dos para encontrar un sitio web o la creación de un sitio local, puede visitar la página web, y olfateando, analizando el número de cuenta y la contraseña, y disparó de 1-2 hojas.

Ahora la mayoría de los sitios están utilizando https, el texto cifrado MD5 a menudo utilizan el cifrado, la captura de paquetes por sí sola no puede obtener los resultados. Buscado por lo tanto, un sitio web literaria, Bailushuyuan, este sitio desde dos mil años casi ninguna revisión
sólo tiene que registrarse para una cuenta de usuario para acceder resultados de rastreo son los siguientes


ID de usuario y la contraseña se dan en texto plano vertical utilizando

Tarea tres: agarrar la cuenta de análisis de paquetes de teléfonos proceso de inicio de sesión y la contraseña de la aplicación. Se puede utilizar el buzón de correo, todo tipo de blog, nube lecciones de clase.

El software comercial actual y el sitio web están codificadas de transmisión de datos importantes, y por lo tanto la captura de sesión Bailushuyuan en su teléfono.
En primer lugar, abrir el punto caliente

para abrir el sitio en el teléfono

consecuencia del arrastre, 192.168.137.24 dirección IP para móviles

para seguir el flujo para obtener el número de cuenta y contraseña

Supongo que te gusta

Origin www.cnblogs.com/besti-20199303/p/12591921.html
Recomendado
Clasificación