raw-sockets

    7熱度

    2回答

    我正在開發一個IEEE802.11幀解析器程序,在Linux內部使用libpcap,使用raw C。我可以輕鬆解析RadioTap和IEEE802.11頭文件,但是我找不到在IEEE802.11 MPDU中封裝的協議名稱。不幸的是,在IEEE802.11頭中沒有任何字段指示封裝的協議(如Ethernet頭中的字段)。 任何解決方案?

    1熱度

    1回答

    我正在學習有關Linux和教程中原始套接字編程我發現此代碼巧合: struct ipheader { unsigned char iph_ihl:5, iph_ver:4; //<--------------These unsigned char iph_tos; unsigned short int iph_len; unsigned short int iph_ident; un

    2熱度

    2回答

    以下代碼是一個旨在發送ICMP迴應請求並接收回復的程序。 /* Forgive my lack of error handling :) */ SOCKET ASOCKET = INVALID_SOCKET; struct sockaddr saddr; struct sockaddr_in *to = (struct sockaddr_in *) &saddr; struct

    0熱度

    1回答

    我試圖捕獲VoLTE android手機上的包。 當打開VoLTE時,它具有IPv6地址。 connect to android phone shell through adb shell 該地址所使用的手機連接到IMS核心網。 我試圖做的: 嗅探tcpdump的這個接口上的包。但我什麼都得不到。 有沒有人做類似的事情? # tcpdump -i rmnet_ims -s 0 -n -w pack

    1熱度

    1回答

    我有下面的代碼讓我發送到我的機器的所有IP數據包: import socket rs = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) while True: print rs.recvfrom(65565) 我得到的東西多行這樣打印出來給我的控制檯 ('E \x004tC\x00

    0熱度

    1回答

    我的Linux系統中有兩個接口 - eth0和eth1。我在eth0上打開了一個原始套接字,並且正在監聽它的傳入數據包。當數據包來自eth0時,在將以太網報頭(特別是目的MAC地址改爲eth1的MAC地址)更改後,我將其轉發給eth1。數據包現在應該被接口接受併發送給內核進行進一步處理,並最終傳送給正在等待的應用程序。但由於某種原因,數據包到達eth1(正如我從wireshark中看到的那樣),但

    5熱度

    2回答

    我正在發送一些ping數據包,通過我的linux機器上的一個原始套接字。 int sock_fd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); 這意味着,我指定的IP數據包報頭時,我寫入套接字(IP_HDRINCL被隱含)。 寫入與send插座失敗,告訴我我需要指定一個地址。 如果我使用sendto那麼它工作。對於sendto我必須指定一個sockaddr

    0熱度

    2回答

    我正在使用以下python腳本來處理原始套接字數據包傳輸。數據包傳輸很好,但我無法從另一端打印傳入數據包。 from socket import socket, AF_PACKET, SOCK_RAW s = socket(AF_PACKET, SOCK_RAW) s.bind(("eth0", 0)) src_addr = "\x54\xbe\xf7\x40\xf5\x82" dst_

    1熱度

    1回答

    我重用了這個site的原始套接字片斷,並刪除了TCP部分並添加了我的ICMP部分來請求回顯。我的兩臺機器都在同一個LAN上,運行Ubuntu 32位。 我給校驗功能我ICMP指針,但它無法計算正確的校驗: icmph->icmp_sum = csum((unsigned short *) datagram + sizeof(struct iphdr), sizeof(struct icmp_hea

    1熱度

    2回答

    我正在用C編寫一個工具,用於記錄在我的Linux系統上運行的不同應用程序的數據使用情況。爲此,我創建了一個原始套接字,然後使用「eth0」(它是我的接口的名稱)綁定它。但我的問題是,這個套接字只捕獲傳入數據包(即:目標MAC地址作爲我係統MAC地址的數據包)。我無法找到任何具有源MAC地址的數據包作爲我係統的MAC地址。所以這意味着我自己的機器寫入的數據包不會被原始套接字捕獲。但我想在兩個方向上捕