20 lines
		
	
	
		
			552 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
		
			552 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | var os = require('os'); | ||
|  | 
 | ||
|  |       var ifaces = os.networkInterfaces(); | ||
|  |       var llRe = /^(fe80|169)/i; // link-local
 | ||
|  | 
 | ||
|  |       Object.keys(ifaces).forEach(function (iname) { | ||
|  |         var iface = ifaces[iname]; | ||
|  | 
 | ||
|  |         iface = iface.filter(function (pface) { | ||
|  |           // nix loopback, internal and ipv6 link-local (non-routable) and ipv4 link-local
 | ||
|  |           return !pface.internal && !(pface.scopeid > 1) && !llRe.test(pface.address); | ||
|  |         }); | ||
|  | 
 | ||
|  |         iface.forEach(function (pface) { | ||
|  |           console.log(pface); | ||
|  |         }); | ||
|  |       }); |