UDP端口转发

sokit是一个开源项目,是一个TCP / UDP 测试工具,用来接收,发送,转发TCP或UDP数据包。

项目地址: http://code.google.com/p/sokit/https://github.com/sinpolib/sokit

中文版下载地址:https://download.csdn.net/download/android_cai_niao/87472838,虽然是8年前的项目,但是在Windows11下亲测有效!

公司做sip开发,sip客户端运行在Android手机上,我想使用Wireshark进行抓包,有人说使用Fiddler进行代理,然后使用Wireshark来抓包,经试验,Fiddler只能进行http的代理,在一款Android7.1的手机Wifi设置上设置代理,在设置界面中有这句话:“浏览器会使用HTTP代理,但其他应用可能不会使用。”,这也充分说明在Wifi代理上的设置只能作用于HTTP,不能作用于UDP,sip是使用UDP协议的。

然后网络上有如下3条命令可以做端口转发(在CMD中执行命令即可):

端口转发配置:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=136.243.23.236 connectport=8080

如上命令,监听的地址为0.0.0.0,监听的端口为8080,这个将会被转发到136.243.23.236:8080,经实验,这种只能转发http协议的,对于UDP没用。

查看转发情况:

netsh interface portproxy show v4tov4

删除端口转发配置:

netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8080

在网上找到了一款软件:sokit,可以做UDP端口转发,点此下载,是一个绿色软件,解压即可使用,虽然是8年前的软件,而且是32位的,但是在Windows11下亲测有效,软件界面如下:
在这里插入图片描述
如上图,在SRC地址中填入要监听的地址,一般填0.0.0.0,我试过填 127.0.0.1是不管用的,端口根据需要设置,协议选择UDP,DST地址即目标地址,这里填上要转发到的目标地址,还有对应的端口,然后点击启动即可(再次点击可停止),然后在我的Android sip客户端中,在设置sip服务器ip时就填我电脑的ip地址(手机wifi和电脑网络必须在同一个局域网内),这样我手机上发出的sip请求就会发到我的电脑上,然后这个sokit软件就会监听到手机发来的sip请求并将请求转发出去,这样sip请求就经过我的电脑了,所以我们就可以在电脑上用Wireshark来抓包了。

如果安装过虚拟机,电脑上会添加多一些网络接口,确认一下自己的电脑使用的网络接口,比如我的电脑使用的是名为”以太网”的网络接口进行上网的,如下:
在这里插入图片描述
使用管理员权限运行Wireshark,否则会一直弹一个什么鬼的确认窗口,弹好多次的,很烦人。启动后界面如下:
在这里插入图片描述
如上图,找到我们上网用的那个网络接口,然后双击它即可开始抓包,如下:

在这里插入图片描述
在过滤器那里输入sip,然后按回车确认,然后手机上设置sip服务器地址为电脑的ip,然后进行sip请求就能看到抓包了,如下:
在这里插入图片描述
如上图,在“Session Initiation Protocol”处单击就可以展开查看sip请求了。

我使用的是imsdroid客户端,有一个Realm设置,这里还是要填sip服务器的地址,不能填自己电脑的ip,因为在发送sip请求时,Realm也只不过是请求中的一个参数而已,如果填成自己电脑ip会导致sip注册不成功。

这种端口转发的机制比较简单,如果有别的端口或不同的协议则又要进行对应的设置,还有一个更简单的办法,买一个 “360随身wifi” ,它可以把电脑的网络通过一个wifi热点分享出去,这样手机连接这个热点来上网,然后电脑上使用Wireshark对 “360随身wifi” 分享的那个网络接口进行抓包即可,这样的话手机上所有的网络请求,不管是什么端口、什么协议统统都可以抓。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Windows系统下的UDP端口转发可以通过使用网络地址转换(NAT)实现。 NAT是一种网络转换技术,可以将内部网络的IP地址转换为外部网络可识别的IP地址,同时也可以将外部网络的IP地址转换为内部网络所需的IP地址。在Windows系统中,可以通过配置网络地址转换器来实现UDP端口转发。 首先,确保已经启用了Internet连接共享(ICS)服务。在控制面板中,找到网络和Internet选项,然后选择“网络和共享中心”。在左侧的导航栏中,点击“更改适配器设置”。找到使用的网络适配器,右击选择“属性”,然后在共享选项卡中勾选“允许其他网络用户通过此计算机的Internet连接来连接”选项。 接下来,打开CMD命令提示符窗口,输入以下命令来配置NAT: netsh interface portproxy add v4tov4 listenport=源端口 listenaddress=源IP地址 connectport=目标端口 connectaddress=目标IP地址 其中,将“源端口”和“源IP地址”替换为要转发的本地端口和本地IP地址,将“目标端口”和“目标IP地址”替换为要转发到的目标端口和目标IP地址。 执行完以上命令后,Windows系统就会将来自源端口的UDP流量转发到目标端口和目标IP地址。 需要注意的是,转发的端口必须是未被使用的端口,不然会导致冲突。另外,由于UDP是面向无连接的传输协议,所以在转发过程中可能会出现一些数据包丢失的情况。 总结起来,通过配置网络地址转换器,可以实现Windows系统下的UDP端口转发,将来自源端口的UDP流量转发到目标端口和目标IP地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

android_cai_niao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值