網路嗅探器:把網絡卡設定成混雜模式,並可實現對網路上傳輸的資料報的捕獲與分析。
原理:
通常的套接字程式只能響應與自己mac位址相匹配的 或者是 廣播形式發出的資料幀,對於其他形式的資料幀網路介面採取的動作是直接丟棄
為了使網絡卡接收所有經過他的封包,要將其設定成混雜模式,通過原始套接字來實現。
設定混雜模式:
建立原始套接字,
繫結到乙個明確的本地位址,
向套接字傳送sio_rcvall控制命令,
接收所有的ip包
**實現步驟:
1 建立原始套接字
2 繫結到明確位址
3 這是sio_rcvall控制**
4 進入迴圈,呼叫recv函式接收經過本地網絡卡的ip封包。
主程式**如下:
void程式接收到ip封包後,呼叫自定義的decodeippacket進行解包。取出封包中的協議頭,向使用者列印出協議資訊。main()
}closesocket(sraw);
}
解析ip頭**:
void decodeippacket(char *pdata)解析tcp頭**如下:取出埠號,輸出}
void decodetcppacket(char *pdata)vs下完整**:}
initsock.h:
#include #pragma comment(lib, "ws2_32") //protoinfo.h:鏈結到ws2_32.lib
class
cinitsock
}~cinitsock()
};
////protoinfo.**件
/*定義協議格式
定義協議中使用的巨集 */
#ifndef __protoinfo_h__
#define __protoinfo_h__
#define ethertype_ip 0x0800
#define ethertype_arp 0x0806typedef
struct _etheader //
14位元組的以太頭
etheader, *petheader;
#define arphrd_ether 1
//arp協議opcodes
#define arpop_request 1 //
arp 請求
#define arpop_reply 2 //
arp 響應
typedef
struct _arpheader //
28位元組的arp頭
arpheader, *parpheader;
//協議
#define proto_icmp 1
#define proto_igmp 2
#define proto_tcp 6
#define proto_udp 17typedef
struct _ipheader //
20位元組的ip頭
ipheader, *pipheader;
//定義tcp標誌
#define tcp_fin 0x01
#define tcp_syn 0x02
#define tcp_rst 0x04
#define tcp_psh 0x08
#define tcp_ack 0x10
#define tcp_urg 0x20
#define tcp_ace 0x40
#define tcp_cwr 0x80typedef
struct _tcpheader //
20位元組的tcp頭
tcpheader, *ptcpheader;
typedef
struct
_udpheader
udpheader, *pudpheader;
#endif
//__protoinfo_h__
#include "執行結果../common/initsock.h
"#include
"../common/protoinfo.h
"#include
#include
#pragma comment(lib, "advapi32.lib")cinitsock thesock;
void decodetcppacket(char *pdata)
}void decodeippacket(char *pdata)
}void
main()
}closesocket(sraw);
}
xingoo 閱讀(
...)
編輯收藏
網路嗅探器 JunkieTheSniffer
junkiethesniffer 是一款實時的資料報嗅探器和分析器,其模組化的設計來完成多種不同的任務。junkiethesniffer 非常適用於幫助網路管理員和分析員。junkie的功能結合於tcpdump和wireshark,不同於tcpdump的是能夠任何深度協議的解析,不同於wiresha...
Python sniffer 網路嗅探器
import socket import threading import time activedegree dict flag 1 defmain global activedegree global glag 獲取本機ip位址 host socket.gethostbyname socket....
網路嗅探器 網路大典
嗅探器是一種監視網路資料執行的軟體裝置,協議分析器既能用於合法網路管理也能用於竊取網路資訊。網路運作和維護都可以採用協議分析器 如監視網路流量 分析資料報 監視網路資源利用 執行網路安全操作規則 鑑定分析網路資料以及診斷並修復網路問題等等。非法嗅探器嚴重威脅網路安全性,這是因為它實質上不能進行探測行...