标签:注册 自己的 http 导入 soc 数据包 class ack 网络抓包
问题: 根据教材参考代码,编写有个简单网络抓包工具。要求核心代码和运行结果截图1-2张。
解决办法:
1.在拿到这个任务之后,我去查找如何去编写一个简单的抓包工具,发现python有一个抓包用的库scapy和解析包用到的库dpkt。于是我就打算使用python来进行编写。下面是安装这两个库的截图(由于pip版本不能更新问题导致无法导入库,将近耗费了我一整天的时间修复,头大!)
2.我将代码分为两个部分,一个是抓包文件grab packet.py和一个解析包文件Analysis packet.py,截图如下:
3.首先,抓包文件grab packet.py代码如下:
from scapy.all import *
def packet_callback(packet): #输出格式
print(packet.show())
dpkt = sniff(filter="tcp src host 192.168.3.62", prn=packet_callback, count=30) #这里指定本地ip地址192.168.3.62,输出格式为上面的packet_callback函数,输出结果为30条
wrpcap("demo.pcap", dpkt) #将抓到的包存储到demo.pcap,是使用dpkt解析包
4.代码执行结果如图所示,我们可以看到生成的demo.pcap,并且从运行的结果中可以看到抓包的结果,其中ttl=128说明本地ip地址是与ip150.138.89.35直接通信,说明我们抓包是很成功的。
5.有了抓到的包的文件,我们就可以使用解析代码来进行数据包的解析了,解析包代码Analysis packet.py如下:
import dpkt
import socket
import datetime
def printPcap(pcap):
try:
for timestamp, buf in pcap:
eth = dpkt.ethernet.Ethernet(buf) #获得以太包,即数据链路层包
print("网络层协议:"+eth.data.__class__.__name__) #以太包的数据既是网络层包
print("传输层协议:"+eth.data.data.__class__.__name__) #网络层包的数据既是传输层包
print(‘时间戳: ‘, str(datetime.datetime.utcfromtimestamp(timestamp))) #打印出包的抓取时间
if not isinstance(eth.data, dpkt.ip.IP):
print(‘无ip包 %s‘ % eth.data.__class__.__name__)
continue
ip = eth.data
do_not_fragment =bool(ip.off & dpkt.ip.IP_DF)
more_fragments =bool(ip.off & dpkt.ip.IP_MF)
fragment_offset = ip.off & dpkt.ip.IP_OFFMASK
print(‘IP: %s -> %s (len=%d ttl=%d DF=%d MF=%d offset=%d)‘ % (socket.inet_ntoa(ip.src), socket.inet_ntoa(ip.dst), ip.len, ip.ttl, do_not_fragment, more_fragments,fragment_offset))
except:
pass
def main():
f =open(‘demo.pcap‘,‘rb‘)
pcap = dpkt.pcap.Reader(f)
printPcap(pcap)
if __name__ ==‘__main__‘:
main()
6.解析包代码运行结果如下,我们可以看到它成功解析出了网络层和传输层的协议,并且正确显示了时间戳:
问题: 找一个网站或者搭建一个本地网站,登录网站,并嗅探,分析出账号和密码,结果截图1-2张。可以用邮箱、各类博客、云班课,只能分析自己的账号,严禁做各类攻击,否则后果自负。
解决办法:
1.在网上搜了好久使用http明文网站,最终终于找到了一个龙珠直播,网站界面截图如下:
2.开启windows端的wireshark,并选取我正在使用的网络WLAN2,截图如下:
3.按要求注册时候,登录帐号,截图如下:
4.到wireshark进行查看http追踪流,发现帐号与密码,截图如下:
5.在实验完成后,为了安全,我修改了密码。。。。
问题: 加分项2分:注意本次加分项不加到额外10分里,加到本次实验中。例如,本次实验7分,算上加分可得9分。抓取手机App的登录过程数据包,分析账号和密码。
*解决办法:
1.
标签:注册 自己的 http 导入 soc 数据包 class ack 网络抓包
原文地址:https://www.cnblogs.com/j1551163790/p/12586692.html