如何编写模块来实现将eht0端口上收到的包发送到eth1端口上?

z341223318 2020-10-15 11:47:31
假设我的主机有2个端口eth0和eth1,现在需要写个模块来实现将eth0上收到的包发送到eth1,
请高手指点,通过hook的方式能实现吗?或者其他更好的方面,还请不吝赐教,万分感谢!
...全文
211 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
z341223318 2020-10-16
  • 打赏
  • 举报
回复
写一个内核模块,实现eth0和eth1之间相互转发?到eth0上的包直接扔给eth1,eth1上的包直接扔给eth0.
z341223318 2020-10-16
  • 打赏
  • 举报
回复
假如应用层的数据到了eth0接口,我希望写一个内核模块,将这个报文交由eth1处理,然后转发出去
  • 打赏
  • 举报
回复
折腾啥,把网线调换一下接口不就行了
qq_1457346882 2020-10-16
  • 打赏
  • 举报
回复
互相转发的意义不大吧?如果是单独拿得话可以用桥接,桥接之前看得是把几个口的包通过桥放到一个口,然后监听那一个口抓包,就可以抓到所有的,应该是一个道理
qybao 2020-10-15
  • 打赏
  • 举报
回复
两张网卡(两个ip)?两个端口?
你所谓的转发是指程序转发还是让系统自动转发?系统自动转发好像两张网卡可以“桥接”(类似和虚拟机的桥接);程序转发那实现方式很多,比如在路由转发到不同ip
冷风1023 2020-10-15
  • 打赏
  • 举报
回复
楼主的意思是不是指端口之间通信? 那不就是进程之间通信吗? 如果是两个网卡之间通信,使用脚本就可以了啊。 端口、eth0和eth1,先了解清楚。
华为路由模拟软件,更换的学习路由配置 大家可以下一个华为MA5200G模拟器进行实验 具体的命令和解释我全写出来了 首先给大家收集了一些交换机的基本命令具体命令解释我已经给出了 通常命令: PCA login: root ;使用root用户 password: linux ;口令是linux # shutdown -h now ;关机 # init 0 ;关机 # logout # login # ifconfig ;显示IP地址 # ifconfig eth0 netmask ;设置IP地址 # ifconfig eht0 netmask down ; 删除IP地址 # route add 0.0.0.0 gw # route del 0.0.0.0 gw # route add default gw ;设置网关 # route del default gw ;删除网关 # route ;显示网关 # ping # telnet ;建议telnet之前先ping一下 --------------------------------------- 交换机命令 ~~~~~~~~~~ [Quidway]super password 修改特权用户密码 [Quidway]sysname 交换机命名 [Quidway]interface ethernet 0/1 进入接口视图 [Quidway]interface vlan x 进入接口视图 [Quidway-Vlan-interfacex]ip address 10.65.1.1 255.255.0.0 [Quidway]ip route-static 0.0.0.0 0.0.0.0 10.65.1.2 静态路由=网关 [Quidway]user-interface vty 0 4 [S3026-ui-vty0-4]authentication-mode password [S3026-ui-vty0-4]set authentication-mode password simple 222 [S3026-ui-vty0-4]user privilege level 3 [Quidway-Ethernet0/1]duplex {half|full|auto} 配置端口双工工作状态 [Quidway-Ethernet0/1]speed {10|100|auto} 配置端口工作速率 [Quidway-Ethernet0/1]flow-control 配置端口流控 [Quidway-Ethernet0/1]mdi {across|auto|normal} 配置端口MDI/MDIX状态平接或扭接 [Quidway-Ethernet0/1]port link-type {trunk|access|hybrid} 设置接口工作模式 [Quidway-Ethernet0/1]shutdown 关闭/重起接口 [Quidway-Ethernet0/2]quit 退出系统视图 [Quidway]vlan 3 创建/删除一个VLAN/进入VLAN模式 [Quidway-vlan3]port ethernet 0/1 to ethernet 0/4 在当前VLAN增加/删除以太网接口 [Quidway-Ethernet0/2]port access vlan 3 将当前接口加入到指定VLAN [Quidway-Ethernet0/2]port trunk permit vlan {ID|All} 设trunk允许的VLAN [Quidway-Ethernet0/2]port trunk pvid vlan 3 设置trunk端口的PVID [Quidway]monitor-port 指定和清除镜像端口 [Quidway]port mirror 指定和清除被镜像端口 [Quidway]port mirror int_list observing-port int_type int_num 指定镜像和被镜像 [Quidway]description string 指定VLAN描述字符 [Quidway]description 删除VLAN描述字符 [Quidway]display vlan [vlan_id] 查看VLAN设置 [Quidway]stp {enable|disable} 开启/关闭生成树,默认关闭 [Quidway]stp priority 4096 设置交换机的优先级 [Quidway]stp root {primary|secondary} 设置交换机为根或根的备份 [Quidway-Ethernet0/1]stp cost 200 设置交换机端口的花费 [SwitchA-vlanx]isolate-user-vlan enable 设置主vlan [SwitchA]Isolate-user-vlan secondary 设置主vlan括的子vlan [Quidway-Ethernet0/2]port hybrid pvid vlan 设置vlan的pvid [Quidway-Ethernet0/2]port hybrid pvid 删除vlan的pvid [Quidway-Ethernet0/2]port hybrid vlan vlan_id_list untagged 设置无标识的vlan 如果的vlan id与PVId一致,则去掉vlan信息. 默认PVID=1。 所以设置PVID为所属vlan id, 设置可以互通的vlan为untagged. 计算机的命令: 计算机命令 ~~~~~~~~~~ PCA login: root ;使用root用户 password: linux ;口令是linux # shutdown -h now ;关机 # init 0 ;关机 # logout # login # ifconfig ;显示IP地址 # ifconfig eth0 netmask ;设置IP地址 # ifconfig eht0 netmask down ; 删除IP地址 # route add 0.0.0.0 gw # route del 0.0.0.0 gw # route add default gw ;设置网关 # route del default gw ;删除网关 # route ;显示网关 # ping # telnet ;建议telnet之前先ping一下 下面是一个小的实验具体内容做了解释 一个交换机,一个计算机,双击交换机,进入终端配置: system password: [Quidway]sysname S3026 ;交换机命名 [S3026]super password 111 ;设置特权密码 [S3026]user-interface vty 0 4 /*进入虚拟终端接口配置模式*/ [S3026-ui-vty0-4]authentication-mode password /*这里我使用的是aaa的认证模式,可选用none 也就是不认证,和passowrd 密码认证这三种,推荐选择aaa 和 password */ /*set auth pass cipher xxxxx 如果你选择的是password认证方式,则要设置一个密码*/ /*user privilege level 3 设置telnet登录级别为3级, */ /*这两步只要选用password时需要使用*/ local-aaa-server /*进行本地3a服务器视图*/ [S3026-ui-vty0-4]set authentication-mode password simple 222 [S3026-ui-vty0-4]user privilege level 3 [S3026-ui-vty0-4]quit [S3026]quit sys password:111 [S3026]display currect-config /*显示当前配置*/ [S3026]dis curr /*显示当前配置*/ [S3026]vlan 2 [S3026-vlan2]port ethernet0/2 [S3026-vlan2]port e0/4 to et0/6 在当前VLAN增加/删除以太网接口 [S3026-vlan2]quit [S3026]dis vlan [S3026]int e0/3 [S3026-Ethernet1]port access vlan 2 将当前接口加入到指定VLAN [S3026-Ethernet1]quit [S3026]dis vlan 查看VLAN设置 [S3026]dis curr [S3026]interface vlan 1 [S3026-Vlan-interface1]ip address 10.65.1.8 255.255.0.0 [S3026-Vlan-interface1]quit [S3026]ip route-static 0.0.0.0 0.0.0.0 10.65.1.2 [S3026]ip default-gateway 10.65.1.2 [S3026]dis curr [S3026]save 双击小电脑: login:root password:linux [root@PCA root]#ifconfig eth0 10.65.1.35 netmask 255.255.0.0 ifconfig eth0 192.168.1.35 netmask 255.255.255.0 [root@PCA root]#ifconfig [root@PCA root]#route add default gw 10.65.1.2 [root@PCA root]#route [root@PCA root]#ping 10.65.1.8 [root@PCA root]#telnet 10.65.1.8
?PCA login: root ;使用root用户 password: linux ;口令是linux # shutdown -h now ;关机 # init 0 ;关机 # logout # login # ifconfig ;显示IP地址 # ifconfig eth0 netmask ;设置IP地址 # ifconfig eht0 netmask down ; 删除IP地址 # route add 0.0.0.0 gw # route del 0.0.0.0 gw # route add default gw ;设置网关 # route del default gw ;删除网关 # route ;显示网关 # ping # telnet ;建议telnet之前先ping一下 ---------------------------------------- 交换机命令 ~~~~~~~~~~ [Quidway]super password 修改特权用户密码 [Quidway]sysname 交换机命名 [Quidway]interface ethernet 0/1 进入接口视图 [Quidway]interface vlan x 进入接口视图 [Quidway-Vlan-interfacex]ip address 10.65.1.1 255.255.0.0 [Quidway]ip route-static 0.0.0.0 0.0.0.0 10.65.1.2 静态路由=网关 [Quidway]user-interface vty 0 4 [S3026-ui-vty0-4]authentication-mode password [S3026-ui-vty0-4]set authentication-mode password simple 222 [S3026-ui-vty0-4]user privilege level 3 [Quidway-Ethernet0/1]duplex {half|full|auto} 配置端口双工工作状态 [Quidway-Ethernet0/1]speed {10|100|auto} 配置端口工作速率 [Quidway-Ethernet0/1]flow-control 配置端口流控 [Quidway-Ethernet0/1]mdi {across|auto|normal} 配置端口MDI/MDIX状态平接或扭接 [Quidway-Ethernet0/1]port link-type {trunk|access|hybrid} 设置接口工作模式 [Quidway-Ethernet0/1]shutdown 关闭/重起接口 [Quidway-Ethernet0/2]quit 退出系统视图 [Quidway]vlan 3 创建/删除一个VLAN/进入VLAN模式 [Quidway-vlan3]port ethernet 0/1 to ethernet 0/4 在当前VLAN增加/删除以太网接口 [Quidway-Ethernet0/2]port access vlan 3 将当前接口加入到指定VLAN [Quidway-Ethernet0/2]port trunk permit vlan {ID|All} 设trunk允许的VLAN [Quidway-Ethernet0/2]port trunk pvid vlan 3 设置trunk端口的PVID [Quidway]monitor-port 指定和清除镜像端口 [Quidway]port mirror 指定和清除被镜像端口 [Quidway]port mirror int_list observing-port int_type int_num 指定镜像和被镜像 [Quidway]description string 指定VLAN描述字符 [Quidway]description 删除VLAN描述字符 [Quidway]display vlan [vlan_id] 查看VLAN设置 [Quidway]stp {enable|disable} 开启/关闭生成树,默认关闭 [Quidway]stp priority 4096 设置交换机的优先级 [Quidway]stp root {primary|secondary} 设置交换机为根或根的备份 [Quidway-Ethernet0/1]stp cost 200 设置交换机端口的花费 作者:Vision_Klaus 2006-8-20 11:07   回复此发言 -------------------------------------------------------------------------------- 2 华为路由交换的基本命令 [SwitchA-vlanx]isolate-user-vlan enable 设置主vlan [SwitchA]Isolate-user-vlan secondary 设置主vlan括的子vlan [Quidway-Ethernet0/2]port hybrid pvid vlan 设置vlan的pvid [Quidway-Ethernet0/2]port hybrid pvid 删除vlan的pvid [Quidway-Ethernet0/2]port hybrid vlan vlan_id_list untagged 设置无标识的vlan 如果的vlan id与PVId一致,则去掉vlan信息. 默认PVID=1。 所以设置PVID为所属vlan id, 设置可以互通的vlan为untagged. ---------------------------------------- 路由器命令 ~~~~~~~~~~ [Quidway]display version 显示版本信息 [Quidway]display current-configuration 显示当前配置 [Quidway]display interfaces 显示接口信息 [Quidway]display ip route 显示路由信息 [Quidway]sysname aabbcc 更改主机名 [Quidway]super passwrod 123456 设置口令 [Quidway]interface serial0 进入接口 [Quidway-serial0]ip address [Quidway-serial0]undo shutdown 激活端口 [Quidway]link-protocol hdlc 绑定hdlc协议 [Quidway]user-interface vty 0 4 [Quidway-ui-vty0-4]authentication-mode password [Quidway-ui-vty0-4]set authentication-mode password simple 222 [Quidway-ui-vty0-4]user privilege level 3 [Quidway-ui-vty0-4]quit [Quidway]debugging hdlc all serial0 显示所有信息 [Quidway]debugging hdlc event serial0 调试事件信息 [Quidway]debugging hdlc packet serial0 显示的信息 静态路由: [Quidway]ip route-static {interface number|nexthop}[value][reject|blackhole] 例如: [Quidway]ip route-static 129.1.0.0 16 10.0.0.2 [Quidway]ip route-static 129.1.0.0 255.255.0.0 10.0.0.2 [Quidway]ip route-static 129.1.0.0 16 Serial 2 [Quidway]ip route-static 0.0.0.0 0.0.0.0 10.0.0.2 动态路由: [Quidway]rip [Quidway]rip work [Quidway]rip input [Quidway]rip output [Quidway-rip]network 1.0.0.0 ;可以all [Quidway-rip]network 2.0.0.0 [Quidway-rip]peer ip-address [Quidway-rip]summary [Quidway]rip version 1 [Quidway]rip version 2 multicast [Quidway-Ethernet0]rip split-horizon ;水平分隔 [Quidway]router id A.B.C.D 配置路由器的ID [Quidway]ospf enable 启动OSPF协议 [Quidway-ospf]import-route direct 引入直联路由 [Quidway-Serial0]ospf enable area 配置OSPF区域 标准访问列表命令格式如下: acl [match-order config|auto] 默认前者顺序匹配。 rule [normal|special]{permit|deny} [source source-addr source-wildcard|any] 例: [Quidway]acl 10 [Quidway-acl-10]rule normal permit source 10.0.0.0 0.0.0.255 [Quidway-acl-10]rule normal deny source any 扩展访问控制列表配置命令 配置TCP/UDP协议的扩展访问列表: rule {normal|special}{permit|deny}{tcp|udp}source {|any}destination |any} [operate] 配置ICMP协议的扩展访问列表: rule {normal|special}{permit|deny}icmp source {|any]destination {|any] 作者:Vision_Klaus 2006-8-20 11:07   回复此发言 -------------------------------------------------------------------------------- 3 华为路由交换的基本命令 [icmp-code] [logging] 扩展访问控制列表操作符的含义 equal portnumber 等于 greater-than portnumber 大于 less-than portnumber 小于 not-equal portnumber 不等 range portnumber1 portnumber2 区间 扩展访问控制列表举例 [Quidway]acl 101 [Quidway-acl-101]rule deny souce any destination any [Quidway-acl-101]rule permit icmp source any destination any icmp-type echo [Quidway-acl-101]rule permit icmp source any destination any icmp-type echo-reply [Quidway]acl 102 [Quidway-acl-102]rule permit ip source 10.0.0.1 0.0.0.0 destination 202.0.0.1 0.0.0.0 [Quidway-acl-102]rule deny ip source any destination any [Quidway]acl 103 [Quidway-acl-103]rule permit tcp source any destination 10.0.0.1 0.0.0.0 destination-port equal ftp [Quidway-acl-103]rule permit tcp source any destination 10.0.0.2 0.0.0.0 destination-port equal www [Quidway]firewall enable [Quidway]firewall default permit|deny [Quidway]int e0 [Quidway-Ethernet0]firewall packet-filter 101 inbound|outbound 地址转换配置举例 [Quidway]firewall enable [Quidway]firewall default permit [Quidway]acl 101 [Quidway-acl-101]rule deny ip source any destination any [Quidway-acl-101]rule permit ip source 129.38.1.4 0 destination any [Quidway-acl-101]rule permit ip source 129.38.1.1 0 destination any [Quidway-acl-101]rule permit ip source 129.38.1.2 0 destination any [Quidway-acl-101]rule permit ip source 129.38.1.3 0 destination any [Quidway]acl 102 [Quidway-acl-102]rule permit tcp source 202.39.2.3 0 destination 202.38.160.1 0 [Quidway-acl-102]rule permit tcp source any destination 202.38.160.1 0 destination-port great-than 1024 [Quidway-Ethernet0]firewall packet-filter 101 inbound [Quidway-Serial0]firewall packet-filter 102 inbound [Quidway]nat address-group 202.38.160.101 202.38.160.103 pool1 [Quidway]acl 1 [Quidway-acl-1]rule permit source 10.110.10.0 0.0.0.255 [Quidway-acl-1]rule deny source any [Quidway-acl-1]int serial 0 [Quidway-Serial0]nat outbound 1 address-group pool1 [Quidway-Serial0]nat server global 202.38.160.101 inside 10.110.10.1 ftp tcp [Quidway-Serial0]nat server global 202.38.160.102 inside 10.110.10.2 www tcp [Quidway-Serial0]nat server global 202.38.160.102 8080 inside 10.110.10.3 www tcp [Quidway-Serial0]nat server global 202.38.160.103 inside 10.110.10.4 smtp udp PPP验证: 主验方:pap|chap [Quidway]local-user u2 password {simple|cipher} aaa [Quidway]interface serial 0 [Quidway-serial0]ppp authentication-mode {pap|chap} [Quidway-serial0]ppp chap user u1 //pap时,不用此句 pap被验方: [Quidway]interface serial 0 [Quidway-serial0]ppp pap local-user u2 password {simple|cipher} aaa chap被验方: [Quidway]interface serial 0 [Quidway-serial0]ppp chap user u1 [Quidway-serial0]local-user u2 password {simple|cipher} aaa 只找到这个,哪位有好点的分享下谢谢

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧