TCP IP學習 sniffer 實作

2021-04-25 17:16:15 字數 996 閱讀 9605

目前大多數作業系統都為應用程式提供訪問資料鏈路層的強大功能。

這種功能可以提供如下能力:

1.  能夠監視由資料鏈路層接收的分組, 使得諸如tcpdump等程式能夠在普通計算機系統上執行,

而無需實用專門的硬體裝置來監視分組。

如果結合實用網路介面進入混雜模式的能力,

那麼應用程式甚至能夠監視本地電纜上流通的所有分組,

而不僅僅是以程式執行所在主機為目的地的分組

2. 能夠作為普遍應用程序而不是核心的一部分執行某些程式。

要從資料鏈路層接收所有幀應如下建立套介面:

sockfd = socket(pf_packet,sock_raw,

htons(eth_p_all));

那麼由資料鏈路層接收的任何協議乙太網幀將返回到這些套介面。

如果只想捕獲ipv4幀,那就如下建立套介面:

sockfd = socket(pf_packet,sock_raw,

htons(eth_p_ip));

下面的簡單的tcp row socket 實現,在centos 4 中編譯通過

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

void die(char *why,int n)

//把網絡卡置為混雜模式

int do_promisc(char *nif,int sock)

char buf[40960];

main()

perror("dump");}}

TCP IP學習 myping 實作

原始套介面提供普通的tcp和udp套介面不提供的以下3個能力 1.程序 可以讀與寫icmp,igmp等分組。2.程序可以讀與寫核心不處理其協議欄位的ipv4資料報。3.程序可以使用ip hdrincl 套介面選項自行構造ipv4頭部。下面的簡單的tcp row socket 實現,在centos 4...

20169219 TCP IP網路協議攻擊實驗報告

1 arp快取欺騙 rp 快取是 arp 協議的重要組成部分。arp 協議執行的目標就是建立 mac 位址和 ip 位址的對映,然後把這一對映關係儲存在 arp 快取中,使得不必重複執行 arp 協議。因為 arp 快取中的對映表並不是一直不變的,主機會定期傳送 arp 請求來更新它的 arp 對映...

tcp ip 學習筆記

最近學習網路程式設計,看了周立發老師的blog 也模仿寫了乙個檔案管理併發伺服器。選擇多程序併發伺服器 技術難點 建立tcp 伺服器 fork 產生新的處理程序 使用getopt 函式使伺服器配置引數化,使用同一的linux風格 設定埠復用,瀏覽檔案系統,思路 1 首先建立乙個被動套接字 設定套接字...