raw-sockets

    4熱度

    2回答

    對於我的計算機網絡類,我試圖用ICMP協議使用原始套接字來實現Traceroute。我需要構建一個數據包,然後使用Python結構類來解壓縮響應數據包。以下是構建數據包的代碼: header = struct.pack("bbHHh", ICMP_ECHO_REQUEST, 0, myChecksum, pid, 1) data = struct.pack("d", time.time())

    0熱度

    1回答

    我正在寫一個使用PacketFu偵聽數據包的紅寶石後門程序。 應用程序工作正常,但由於某些原因,它不會在中斷退出(CTRL + C) 這是代碼,似乎不受中斷的部分。如果我完全清空每個循環,並不重要,它會始終停止忽略中斷。 任何想法? 編輯:當packet.stream.each循環執行時(強制某些TCP流量),我可以正確捕獲中斷。似乎無論PacketFu在等待新數據包時如何使它免於中斷。我想現在我

    5熱度

    3回答

    將在node.js中支持raw套接字,例如創建ping數據包?

    2熱度

    1回答

    我想實現一個發送UDP消息並通過原始套接字接收ICMP響應的python traceroute。我遇到了一個ICMP數據包似乎不惜一切代價避免捕獲的問題。 ICMP響應在wireshark中顯示爲我所期望的,但套接字從未收到任何要讀取的數據。另一個複雜因素是我在運行Ubuntu的VirtualBox上運行代碼,因爲sendto()不會在Windows 7中獲取數據包。(我在Windows中運行wi

    2熱度

    2回答

    我的應用程序需要接收來自多個目的端口的UDP數據包(這是一位誠實的應用程序,而不是一個嗅探器)。因此,我選擇使用PF_PACKET套接字並在應用程序級別進行端口過濾。 下面是如何創建套接字: INT g_rawSocket =插座(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL)); 我正確地收到UDP報文。但是,運行該應用程序的內核正在向正在向我的應用程序發送數據包的遠程設

    2熱度

    2回答

    我用Boost.Asio擴展名寫了一個橋(第2層交換機)。我們可以輕鬆地製作出符合其類型要求的其他套接字,端點和協議。而我的擴展使用linux包套接字與AF_PACKET,SOCK_RAW和htons(ETH_P_ALL)(有關數據包套接字的更多信息,請參見man 7 packet)。 這裏有一個例子說明我的橋是如何工作的: [PC1] <----> IF1[PC2]IF2 <----> [PC3

    2熱度

    2回答

    我正在編寫NAT的實現,並且需要使用原始套接字。我已經習慣了Twisted體系結構,並且喜歡它如何處理併發連接。 進入Twisted協議的數據被處理,NAT,列表併發送出原始套接字。進入原始套接字的數據被操縱,查找,NAT,並被引導至適當的協議實例。 只有一個原始插座就足夠了嗎?如果大量的連接同時進入,會怎麼樣?不扭曲處理,或者在無連接協議中扭曲非常不利。如果有優勢,任何人都可以指示我一個原始插座

    0熱度

    3回答

    我一直試圖在下面的代碼。此代碼我在互聯網上找到的地方發送使用原始套接字的數據包。我創建了自己的ipheader和udp頭文件。整個數據包使用原始套接字上的sendto()函數發送。 sendto()返回0.這意味着一個長度爲0的數據包被髮送出去,因此即使wireshark也沒有檢測到任何數據包。我的錯誤在哪裏? // Must be run by root lol! Just datagram,

    1熱度

    1回答

    使用本文來源RAW_SOCKET to forge UDP packets我從其他主機生成包含eth0 ip地址的數據包,例如192.168.10.1 - > 192.168.10.131。 但tcpdump的顯示,即數據包到達入LO,沒有eth0的... 上LO - 10:10:18.332284 IP (tos 0x0, ttl 64, id 768, offset 0, flags [DF]

    1熱度

    1回答

    現在我正在編寫一個使用原始TCP套接字的程序。如果有任何傳入數據包的TCP校驗和不正確,內核會將它們傳遞給程序還是丟棄它們?我想知道的原因是找出是否需要手動進行檢查。