如何识别机器的传出IP

时间:2017-09-20 13:07:57

标签: c#

我有一个控制台应用程序,我必须获取ip详细信息并将其推送到某个远程服务器进行缓存。

如果我的机器有多个以太网接口卡,那么正常的实现将返回所有的ip,包括内部接口卡和外部接口卡。我只需要流量输出的IP。有没有办法在不使用c#调用任何网站的情况下识别这个?

3 个答案:

答案 0 :(得分:2)

你走了:

<div class="content">
  <md-tab-group>
    <md-tab label="label1" (click)="passSourceOfDocuments()">
      <details *ngFor="let package of documentPackages">
        <summary>{{package.documentPackageGuid}}</summary>
        <ul>
          <details *ngFor="let doc of package.Documents">
            <summary>{{doc.documentGuid}}</summary>
              ..........
          </details>
        </ul>
      </details>
    </md-tab>
    <md-tab label="label2" (click)="passSourceOfDocuments()">
      <details *ngFor="let doc of emaildocuments">
             ......................
      </details>
    </md-tab>
  </md-tab-group>
</div>
  

此CSharp(C#)代码段显示如何获取计算机的外部IP地址(IPv4)(即拨号连接IP)。为此,我们获取机器的所有IP地址,并将它们与本地地址范围(10.0.0.0/24,172.16.0.0/16,192.168.0.0/16和169.254.0.0/16)进行比较。

Source

答案 1 :(得分:0)

如果您只有一个活动的外部IP地址(可能还有多个内部地址),您只需过滤reserved IP addresses上的IP地址列表即可。其余地址是用于传出(例如WAN / Internet)流量的地址。

答案 2 :(得分:0)

如果特定DNS有值,那么您可以理解它是活动的 image