Ubuntu和Puppeter没有srvflx地址 我想做什么

Ubuntu和Puppeter没有srvflx地址 我想做什么,ubuntu,webrtc,puppeteer,Ubuntu,Webrtc,Puppeteer,用于收集srvflx candicate 问题: 无法在Ubuntu服务器(Linux)上接收srvflx candicate。在Windows上工作 复制步骤: 操作系统Ubuntu 19.04安装 sudo apt-get-update和&apt-get-upgrade sudo ufw disable curl ipecho.net/plain//返回可ping的ip 布偶师: curl-sLhttps://deb.nodesource.com/setup_13.x |sudo-E

用于收集srvflx candicate

问题: 无法在Ubuntu服务器(Linux)上接收srvflx candicate。在Windows上工作

复制步骤: 操作系统Ubuntu 19.04安装
  • sudo apt-get-update和&apt-get-upgrade
  • sudo ufw disable
  • curl ipecho.net/plain
    //返回可ping的ip
布偶师:
  • curl-sLhttps://deb.nodesource.com/setup_13.x |sudo-E bash-&&sudo apt get安装-y nodejs
  • mkdir-p/tmp/puppetertest&cd/tmp/puppetertest&npm init
  • npm i木偶演员--保存
  • 安装此处列出的所有LIB
    • sudo apt get install-y gconf service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconconfigura1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0-0 libpangocairo-1.0-0 libstdc++libstdc++libx11-6 libx11-6 libx11-xcbx11-xcbb1 xcb1 libxcbb1 xcomb1 libxcor1 libmax6libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca证书字体解放libappindicator1 libnss3 lsb发行版xdg utils wget
  • vi index.js//使用下面的代码创建index.js
const puppeter=require('puppeter');
(异步()=>{
const browser=wait puppeter.launch({
无头:是的,
args:[
“--没有沙箱”,
“--disable features=WebRtcHideLocalIpsWithMdns”,
“--禁用setuid沙盒”
]
});
const pages=等待browser.pages();
常量页面=页面[0];
等待页面。转到('https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/');
//开始收集
等待页面。单击(“收集”);
等待页面。等待(5000);
//刮候选人
常量respItems=[];
const tableContainer=wait page.$(“#candidatesBody”);
const trsElem=wait tableContainer.$$('tr');
为了(让我们来讨论一下trsElem){
const dataList=wait trElem.$$eval('td',tdsElem=>tdsElem.map(td=>td.innerText));
推挤({
时间:数据列表[0],
组成:数据表[1],
类型:数据列表[2],
基础:数据列表[3],
协议:数据列表[4],
地址:dataList[5],
端口:数据列表[6],
优先级:数据列表[7],
});
};
log(JSON.stringify(respItems,null,“\t”);
等待浏览器关闭();
进程退出(0);
})();
  • node index.js
输出窗口
[
        {
                "time": "0.009",
                "compoment": "rtp",
                "type": "host",
                "foundation": "1879246603",
                "protocol": "udp",
                "address": "[LOCAL IP]",
                "port": "55810",
                "priority": "126 | 30 | 255"
        },
        {
                "time": "0.028",
                "compoment": "rtp",
                "type": "srflx",
                "foundation": "842163049",
                "protocol": "udp",
                "address": "[PUBLIC IP]",
                "port": "55810",
                "port": "55810",
                "priority": "126 | 30 | 255"
        },
        {
                "time": "0.028",
                "compoment": "rtp",
                "type": "srflx",
                "foundation": "842163049",
                "protocol": "udp",
                "address": "[PUBLIC IP]",
                "port": "55810",
                "priority": "100 | 30 | 255"
        },
        {
                "time": "0.110",
                "compoment": "Done"
        },
        {
                "time": "0.112"
        }
]
输出Ubuntu
    [
            {
                    "time": "0.007",
                    "compoment": "rtp",
                    "type": "host",
                    "foundation": "3461618340",
                    "protocol": "udp",
                    "address": "[PUBLIC IP]",
                    "port": "45743",
                    "priority": "126 | 30 | 255"
            },
            {
                    "time": "0.109",
                    "compoment": "Done"
            },
            {
                    "time": "0.111"
            }
    ]

如果您的机器配置了公共IP而不是NAT(这是ubuntu的候选主机所建议的),则不会返回srflx候选主机,因为ServerReflective地址与主机地址相同。有关详细信息,请参阅