scapy是python寫(xiě)的一個(gè)功能強(qiáng)大的交互式數(shù)據(jù)包處理程序妈拌,可用來(lái)發(fā)送、嗅探狭园、解析和偽造網(wǎng)絡(luò)數(shù)據(jù)包读处,常常被用到網(wǎng)絡(luò)攻擊和測(cè)試中。
一唱矛、發(fā)送ARP數(shù)據(jù)包
使用scapy實(shí)施第二層掃描發(fā)現(xiàn)
image.png
>>> ARP().display()
>>> arp_request=ARP()
>>> arp_request.hwsrc="00:0c:29:e5:0a:f3" //本機(jī)mac地址
>>> arp_request.psrc="192.168.252.136" //本機(jī)ip地址
>>> arp_request.pdst="192.168.252.131" //目標(biāo)機(jī)ip地址
>>> arp_request.display()
image.png
發(fā)起請(qǐng)求
sr1(arp_request) //sr1(arp_request,timeout=1)可設(shè)置收不到回復(fù)的連接時(shí)間
沒(méi)有收到回復(fù)罚舱,因?yàn)槲?31的機(jī)子沒(méi)開(kāi)俊戳,開(kāi)機(jī)重新嘗試,成功
image.png
二馆匿、發(fā)送IP數(shù)據(jù)包
使用scapy對(duì)目標(biāo)主機(jī)掃描
image.png
配置掃描數(shù)據(jù)抑胎,在IP層上創(chuàng)建第二層數(shù)據(jù)包icmp參數(shù),定義ICMP模板數(shù)據(jù)包ping
>>> ip.dst="192.168.252.131"
>>> ping=ICMP()
>>> ping.display()
>>> ping_request=(ip/ping)
>>> ping_request.display()
利用"/"把創(chuàng)建的兩個(gè)數(shù)據(jù)包組裝渐北,執(zhí)行命令阿逃,以上輸出信息顯示數(shù)據(jù)包封裝完畢,可以發(fā)送
發(fā)送數(shù)據(jù)包
發(fā)送數(shù)據(jù)包得到回答
三赃蛛、發(fā)送tcp ack數(shù)據(jù)包掃描主機(jī)
>>> n=IP()
>>> n.dst="192.168.252.131"
>>> n.display()
image.png
>>> t=TCP()
>>> t.display()
image.png
>>> t.flags='A'
>>> t.display()
image.png
>>> request=(n/t)
>>> request.display()
image.png
image.png
image.png
參考:http://www.jinglingshu.org/?p=10390
http://www.reibang.com/p/a9919917684c