jtp*_*yda 7 networking utilities ethernet
我想发送原始以太网数据,有点像以太网的 netcat 而不是 TCP。在 Unix 上执行此操作的最简单方法是什么?到目前为止,我似乎需要编写自己的工具。
在 Python 中实现非常简单,请参阅Github:在 Python中发送原始以太网数据包的一种方式
from socket import *
def sendeth(src, dst, eth_type, payload, interface = "eth0"):
assert(len(src) == len(dst) == 6) # 48-bit ethernet addresses
assert(len(eth_type) == 2) # 16-bit ethernet type
s = socket(AF_PACKET, SOCK_RAW)
s.bind((interface, 0))
return s.send(src + dst + eth_type + payload)
if __name__ == "__main__":
print("Sent %d-byte Ethernet packet on eth0" %
sendeth("\xFE\xED\xFA\xCE\xBE\xEF",
"\xFE\xED\xFA\xCE\xBE\xEF",
"\x7A\x05",
"hello"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6262 次 |
| 最近记录: |