# network-utilities
**Repository Path**: mirrors_yiisoft/network-utilities
## Basic Information
- **Project Name**: network-utilities
- **Description**: Network related utilities
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-19
- **Last Updated**: 2026-02-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Yii Network Utilities
[](https://packagist.org/packages/yiisoft/network-utilities)
[](https://packagist.org/packages/yiisoft/network-utilities)
[](https://github.com/yiisoft/network-utilities/actions/workflows/build.yml)
[](https://codecov.io/gh/yiisoft/network-utilities)
[](https://dashboard.stryker-mutator.io/reports/github.com/yiisoft/network-utilities/master)
[](https://github.com/yiisoft/network-utilities/actions?query=workflow%3A%22static+analysis%22)
[](https://shepherd.dev/github/yiisoft/network-utilities)
The package contains various network utilities useful for:
- getting info about IP address;
- checking if IP is in a certain range;
- expanding IPv6;
- converting IP to bits representation;
- checking DNS record availability.
## Requirements
- PHP 7.4 - 8.5.
## Installation
The package could be installed with [Composer](https://getcomposer.org):
```shell
composer require yiisoft/network-utilities
```
## General usage
### `IpHelper`
```php
use Yiisoft\NetworkUtilities\IpHelper;
// Check IP version.
$version = IpHelper::getIpVersion('192.168.1.1');
if ($version === IpHelper::IPV4) {
// ...
}
// Check if IP is in a certain range.
if (!IpHelper::inRange('192.168.1.21/32', '192.168.1.0/24')) {
throw new \RuntimeException('Access denied!');
}
// Expand IP v6.
echo IpHelper::expandIPv6('2001:db8::1');
// Convert IP to bits representation.
echo IpHelper::ip2bin('192.168.1.1');
// Get bits from CIDR Notation.
echo IpHelper::getCidrBits('192.168.1.21/32');
```
### `DnsHelper`
```php
use Yiisoft\NetworkUtilities\DnsHelper;
// Check DNS record availability.
if (!DnsHelper::existsA('yiiframework.com')) {
// Record not found.
}
```
### `IpRanges`
```php
use Yiisoft\NetworkUtilities\IpRanges;
$ipRanges = new IpRanges(
[
'10.0.1.0/24',
'2001:db0:1:2::/64',
IpRanges::LOCALHOST,
'myNetworkEu',
'!' . IpRanges::ANY,
],
[
'myNetworkEu' => ['1.2.3.4/10', '5.6.7.8'],
],
);
$ipRanges->isAllowed('10.0.1.28/28'); // true
$ipRanges->isAllowed('1.2.3.4'); // true
$ipRanges->isAllowed('192.168.0.1'); // false
```
## Documentation
- [Internals](docs/internals.md)
If you need help or have a question, the [Yii Forum](https://forum.yiiframework.com/c/yii-3-0/63) is a good place for that.
You may also check out other [Yii Community Resources](https://www.yiiframework.com/community).
## License
The Yii Network Utilities is free software. It is released under the terms of the BSD License.
Please see [`LICENSE`](./LICENSE.md) for more information.
Maintained by [Yii Software](https://www.yiiframework.com/).
## Support the project
[](https://opencollective.com/yiisoft)
## Follow updates
[](https://www.yiiframework.com/)
[](https://twitter.com/yiiframework)
[](https://t.me/yii3en)
[](https://www.facebook.com/groups/yiitalk)
[](https://yiiframework.com/go/slack)