跳到主要內容

Python send multicast udp from specific interface

import socket MCAST_GRP = '224.1.1.2' MCAST_PORT = 5007 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2) # specific interface ip and bind to socket sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton("192.168.20.1")) sock.sendto("this is message", (MCAST_GRP, MCAST_PORT)) ==== RAW , IGMP import socket s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, 0x8100) s.bind(('VLAN1', 0x8100)) res='' temp='01 00 5E 00 43 67 00 02 B3 C8 7F 44 81 00 00 01 08 00 46 00 00 20 00 01 00 00 01 02 36 4C C0 A8 0a 7b EA 00 43 67 94 04 00 00 16 00 BC 97 EA 00 43 67' for i in temp.split(' '): res+=chr(int(i, 16)) s.send(res)

留言

這個網誌中的熱門文章

scapy + python 好用的封包產生器,快速生成 udp packet

範例:  往 192.168.10.10 打 udp packet , src ip 是 192.168.1.0 .. 遞增 1024,UDP dest port 是 8001~8010, UDP src port  是 10001 ~ 10010, payload 是 'hello world',packet 從 eth0 出去 import struct, socket from scapy.all import *  #在這邊用  all 速度會變慢一些 ip2int = lambda ipstr: struct.unpack('!I', socket.inet_aton(ipstr))[0] int2ip = lambda n: socket.inet_ntoa(struct.pack('!I', n)) src_ip_base="192.168.1.0" src_ip_list=[ int2ip(a+ip2int("192.168.1.0")) for a in range(1024)] payload='hello world' packet=Ether(dst="00:e0:4c:68:00:66",src="00:1e:8c:74:b9:47")/ \        IP(dst="192.168.10.10",src=src_ip_list)/ \        UDP(sport=[i+10001 for i in range(10)],dport=[i+8001 for i in range(10)])/ \        payload sendp(packet,iface="eth0")

windows 上 wireshark 抓不到剛插入的 USB 網卡

有時後會遇到新插入 USB 網卡後,打開 Wireshark 沒看到這張網卡 https://osqa-ask.wireshark.org/questions/12192/usb-to-ethernet-adapter-doesnt-show-under-interfaces 根據這篇 wireshark 官網的連結,這是 windows 上的限制,通常是要 reboot 才會出現新網卡 可以試試看文章中下方提到的步驟 net stop npf net start npf tshark -D

利用 Bokeh + Python 速成網頁統計圖

最近剛好有需求在想要如何將透過 rest api get 回來的資料做成統計表 原本想從 Chrome plugin 找,不過似乎沒找到相關的工具 無意間發現這個 Bokeh 是個可以速成又簡單的工具 只要幾行 code ,就能畫出各種統計圖 <measurement> <server> 192.168.10.240 </server> <cpu> 0 </cpu> <memory> 75 </memory> </measurement> <measurement> <server> 192.168.10.131 </server> <cpu> 5 </cpu> <memory> 91 </memory> 原本透過 rest api get 的資料,在 Chrome 只能如上這樣顯示,看起來十分不清楚 經過處理後,可以直接輸出成 html ,並且顯示精美的統計圖 讓 web 前後端都沒碰過的我,也能夠方便的在 html 上產生這種統計圖 參考網址: Bokeh 官網 http://bokeh.pydata.org/en/latest/ Python 上前端!利用 Bokeh 與 Python 製作網頁互動視覺化 http://blog.infographics.tw/2016/04/interactive-visualization-with-bokeh-and-python/