Python必备技能之分析异常流量
异常流量包链接
pan.baidu.com/s/1hJkfTYBoqYQ6oLnPL7A6dw
提取码:1jw6
这个包是我之前用wireshark进行抓取的,现在使用pycharm软件进行流量分析来获取里面的flag内容
第一步使用pycharm的包管理器pip进行第三方包安装
pip stall scapy

由于博主之前安装过了,pycharm提示已经安装
之前安装好的界面是

第二步:导出库
from scapy.all import * if __name__ =='__main': pcap = rdpcap('') #rdcap就是从地方库导进来的
第三步:打印pcap
from scapy.all import * if __name__ == '__main__': pcap = rdpcap('./aim.pcap') print(pcap)

得到有用信息(包含了包的种类)
<aim.pcap: TCP:1088 UDP:87 ICMP:0 Other:5>
第四步:打印item字符节元素
from scapy.all import * if __name__ == '__main__': pcap = rdpcap('./aim.pcap') for item in pcap: print(item)

第五步:查看类型(博主知道是包为了方便小白们观看特意准备)
from scapy.all import * if __name__ == '__main__': pcap = rdpcap('./aim.pcap') for item in pcap: print(type(item))

第六步:转化为字符串进行打印
from scapy.all import * if __name__ == '__main__': pcap = rdpcap('./aim.pcap') for item in pcap: print(repr(item))

第七步:先打印一个包试一试
from scapy.all import * if __name__ == '__main__': pcap = rdpcap('./aim.pcap') for item in pcap: print(repr(item.show())) break

第八步:获取TCP的地段
from scapy.all import * if __name__ == '__main__': pcap = rdpcap('./aim.pcap') for item in pcap: if ('TCP' in item) and (item['TCP'].fields['dport'] ==80): print((repr(item)))

第九步:访问TCP下的’192.168.0.123‘
from scapy.all import * if __name__ == '__main__': pcap = rdpcap('./aim.pcap') for item in pcap: if ('TCP' in item) and (item['TCP'].fields['dport'] ==80) and(item['IP'].fields['dst'] == '192.168.0.123'): print((repr(item)))

最后一步:打印响应,收集信息
图为收集到的信息“ - ”

flag-{YKLTGULRGB}
未亡人

浙公网安备 33010602011771号