从“路由器”的严格定义上来说是不可以的,因为路由器的功能就是路由数据包。当然,路由器必须修改包的链路层信息(mac地址)才能路由,所以其实也算是修改了数据包的。 现在的路由器(90年代以后)还有了其它的功能,比如acl,nat,那么就会拦截数据包,修改网络层信息(比如五元组)。代理服务器修改的就更多。 如果你搞协议分析开发,把自己的机器做成网关,带路由等功能,你想怎么改,就怎么改。 你可以捕获缓存访问百度的某台机器的数据包和返回的报文(libpcap+libnet可以做非生产等级的实现),修改后转发,你可以实现:把ip地址换成另外一个,百度发回的报文你也可以把内容换掉,修改ua,在移动核心网里还可以修改电话号码、手机串号、基站信息(lac、rac、sac)等等。 前提是处理能力,libpcap+libnet这种库在生产系统上是基本上搞不定的。但是它可以告诉你的是,只要你对协议(这得努力看rfc文档)充分理解,网络数据包就是数据,什么socket的都是浮云,防火墙、路由、负载均衡、应用网关......基本原理都是在捕获/缓存/修改/转发数据包。 剩下的就是修炼算法、数据结构,来应付每秒钟几十万到几千万的数据包,且不会让用户觉察。 库函数、语法、协议规范神马滴都是死的,任何一个能认字的人都可以干得了(神州的“程序员”95%都是这种货),程序员是能够在自己代码里构建合适的数据结构,熟练运用大多数通用算法,让自己的程序能够以最高效率处理人处理不了的事务的工种。而不是腆着脸把堆代码、砌函数就敢称为编程的傻货。(有感而发,切勿对号入座)
这是路由器的技术吧,一般家用路由器是不是没有办法编辑,或者可不可以说是ROM,以前配置的都是那种多口的路由交换,在计算机上你只能拿到路由器权限后进入之后,家用的看他提供给你的功能吧,非家用的那种试着应该能改,有ACL的。
1.某台内网机器,比如访问百度,我在路由器上能否将这个包替换掉? 2.某台内网机器访问百度后,百度服务器返回数据到路由之后,路由是怎么将数据转发给内网机器的? 我能否在路由器上将这部数据包改掉?或者只是修改下重新发送就可以。
23,116
社区成员
74,506
社区内容
加载中
试试用AI创作助手写篇文章吧