內容可能和網上很多大神寫的類似,我也沒有什麼創新的地方,全當寫日記了,學了網路程式設計和計算機系統之後,覺得對ip資料報有了些了解,所以想嘗試一下能不能寫出區域網arp攻擊工具出來.以下是思路1.先了解arp攻擊 的原理,
攻擊物件是我舍友,我想要讓他不能正常上網,所以給他傳送arp閘道器欺騙包,告訴閘道器的mac在2b-2b-2b-2b-2b-2b那裡(肯定是不存在的啦),
他上網的時候由於找不到正確的閘道器,所以就上不了網
2.偽造資料報
資料報結構如上
所以就按圖填充,
u_char buf=;//填充,讓資料報達到60位元組+自動crc4位元組
資料報的意思大概是:告訴目的mac使用者(我舍友),ip為115.155.60.254(閘道器)那個傢伙的mac在2b-2b-2b-2b-2b-2b那裡,下次上網記得找ta哦3.了解怎麼傳送
當然使用socket傳送,一般的socket是工作在傳輸層的,此時無論你怎麼填充資料,最後資料都會跑到資料報的data裡面去;
4.關鍵**
char* name; //網絡卡名字
char errbuf[pcap_errbuf_size];
pcap_t *fp=null; //網絡卡物件
pcap_if_t *alldevs;
pcap_findalldevs(&alldevs,errbuf);
name=alldevs->next->name; //乙太網網絡卡名字,我電腦這裡第乙個是無線網絡卡,第二個是乙太網,所以name選了第二個
fp=pcap_open(name,100,pcap_openflag_promiscuous,1000,null,errbuf); //開啟網絡卡
pcap_sendpacket(fp, buf, sizeof(buf));//傳送
pcap_freealldevs(alldevs); //及時釋放
pcap_close(fp); //關閉網絡卡
實在是不會用**功能,弄了半個小時了,排版就是排不好,不弄了,就這樣吧
結果圖:
socket udp傳送資料和接受資料
用 python3 傳送的資料必須是 bytes 二進位制 型別 import socket 匯入 socket defmain 建立乙個udp套接字 udp socket socket.socket socket.af inet,socket.sock dgram 從鍵盤獲取資料 send dat...
socket UDP廣播的傳送和接收示例
如果網路中兩個主機上的應用程式要相互通訊,其一要知道彼此的ip,其二要知道程式可監聽的埠。因為同一主機上的程式使用網路是通過埠號來區分的。1.初始化網路庫 2.建立sock dgram型別的socket。3.繫結套接字。4.傳送 接收資料。5.銷毀套接字。6.釋放網路庫。專門用於同時向網路中所有工作...
c 通過傳送arp包獲取ip等資訊
利用dns類和wmi規範獲取ip及mac位址 在c 程式設計中,要獲取主機名和主機ip位址,是比較容易的.它提供的dns類,可以輕鬆的取得主機名和ip位址.示例 string strhostname dns.gethostname 得到本機的主機名 iphostentry ipentry dns.g...