许多脚本和api捆绑在一个易于使用的CLI中

lazy-network-engineer-jaaacck的Python项目详细描述


懒散网络工程师(LNE)

Lazy Network Engineer(lne)是一个工具和api的融合,它们被放在一个易于使用的脚本中

特点

子网计算器

基本子网计算器

示例
jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py -sc 10.7.90.24/27
╒══════════════╤═════════════════╕
│ Address      │ 10.7.90.24      │
├──────────────┼─────────────────┤
│ Mask         │ 255.255.255.224 │
├──────────────┼─────────────────┤
│ CIDR         │ 10.7.90.24/27   │
├──────────────┼─────────────────┤
│ Network      │ 10.7.90.0       │
├──────────────┼─────────────────┤
│ Broadcast    │ 10.7.90.31      │
├──────────────┼─────────────────┤
│ Wildcard     │ 0.0.0.31        │
├──────────────┼─────────────────┤
│ Usable hosts │ 30              │
╘══════════════╧═════════════════╛

IP WHOIS

https://stat.ripe.net/docs/data_api

示例

使用成熟的数据库对提供的IP运行WHOIS

^{pr2}$

IP声誉

使用来自https://www.abuseipdb.com/的API

提供“虐待分数”-越接近100,你就越有信心举报的虐待是正确的。所有的滥用行为都会被报告,大部分是由Fail2Ban自动报告的。在

还显示有关请求的IP的最后几个报告

提供的域不是PTR记录,而是最终用户报告的内容。在

示例
jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py -r 45.146.164.166
+-------------------------+----------------------------------------------------+
|       IP Address        |                   45.146.164.166                   |
+=========================+====================================================+
| Domain                  | mastercommunications.ru                            |
+-------------------------+----------------------------------------------------+
| ISP                     | Mastercom LLC                                      |
+-------------------------+----------------------------------------------------+
| Country                 | RU                                                 |
+-------------------------+----------------------------------------------------+
| Abuse Score             | 100                                                |
+-------------------------+----------------------------------------------------+
| Total Reports (90 days) | 1606                                               |
+-------------------------+----------------------------------------------------+
| Last Reported           | 2020-11-15T13:03:04+00:00                          |
+-------------------------+----------------------------------------------------+
| Latest Reports          | Nov 15 13:03:01 scw-6657dc sshd[30568]:            |
|                         | pam_unix(sshd:auth): authentication failure;       |
|                         | logname= uid=0 euid=0 tty=ssh ruser=               |
|                         | rhost=45.146.164.166                               |
|                         | Nov 15 13:03:01 scw-6657dc sshd[30568]:            |
|                         | pam_unix(sshd:auth): authentication failure;       |
|                         | logname= uid=0 euid=0 tty=ssh ruser=               |
|                         | rhost=45.146.164.166                               |
|                         | Nov 15 13:03:03 scw-6657dc sshd[30568]: Failed     |
|                         | password for invalid user admin from               |
|                         | 45.146.164.166 port 8889 ssh2                      |
|                         | ...                                                |
+-------------------------+----------------------------------------------------+

BGP

https://bgpview.docs.apiary.io/#reference/0/asn/view-asn-details?console=1

ASN查找

对提供的BGPView运行API调用。如果超过50个前缀被公布,它将被截断以节省空间

示例
jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py --asn 13009
+--------------------+---------------------------------------------------------+
|        Name        |                        VData Ltd                        |
+====================+=========================================================+
| ASN                | 13009                                                   |
+--------------------+---------------------------------------------------------+
| Country            | GB                                                      |
+--------------------+---------------------------------------------------------+
| Email Contact      | abuse@redcentricplc.com, peering@redcentricplc.com,     |
|                    | support@redcentricplc.com,                              |
|                    | darren.marshall@redcentricplc.com,                      |
|                    | abuse@redcenticplc.com, sean.cavenay@redcentricplc.com  |
+--------------------+---------------------------------------------------------+
| Abuse Contact      | abuse@redcentricplc.com, abuse@redcenticplc.com         |
+--------------------+---------------------------------------------------------+
| Traffic Estimation | 5-10Gbps                                                |
+--------------------+---------------------------------------------------------+
| IPv4 Prefixes      | 45.14.252.0/24, 46.235.168.0/21, 85.118.0.0/19,         |
|                    | 91.209.34.0/24, 94.199.144.0/21, 151.147.184.0/24,      |
|                    | 151.147.185.0/24, 151.147.186.0/24, 151.147.187.0/24,   |
|                    | 178.250.96.0/21, 185.65.100.0/22, 185.81.160.0/22,      |
|                    | 185.95.175.0/24, 188.95.128.0/21, 192.166.136.0/24,     |
|                    | 193.164.114.0/24, 213.146.128.0/19, 216.245.64.0/18     |
+--------------------+---------------------------------------------------------+
| IPv6 Prefixes      | 2a02:2998::/32, 2a03:a000::/32                          |
+--------------------+---------------------------------------------------------+

对等状态

MAC供应商查找

使用https://macvendors.com/api获取有关MAC地址供应商的信息。在

正则表达式

它将把MAC地址与下面的regex相匹配,这应该符合所有通用标准:

regex = ("^([0-9A-Fa-f]{2}[:-])" +
        "{5}([0-9A-Fa-f]{2})|" +
        "([0-9a-fA-F]{4}\\." +
        "[0-9a-fA-F]{4}\\." +
        "[0-9a-fA-F]{4})$")

示例
jack@jumpbox:~/python/lazy-network-engineer(master⚡) »python3 main.py --mac-lookup 18-31-BF-69-9D-46
╒═══════════════════╤═══════════════════════╕
│ MAC Address       │ Vendor                │
├───────────────────┼───────────────────────┤
│ 18-31-BF-69-9D-46 │ ASUSTek COMPUTER INC. │
╘═══════════════════╧═══════════════════════╛

速率限制计算器

基于Ciscos推荐的速率限制计算器https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/qos_plcshp/configuration/15-mt/qos-plcshp-15-mt-book/qos-plcshp-oview.html

示例
jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py -rl 1000000
+-----------------+---------+
|    Function     |  Bits   |
+=================+=========+
| Requested Speed | 1000000 |
+-----------------+---------+
| Normal Burst    | 187500  |
+-----------------+---------+
| Extended Burst  | 375000  |
+-----------------+---------+

位转换器

获取给定的输入并将其转换为所有其他数据格式。在

选择了5位小数作为浮点数,因为这样既不会使输出过于复杂,也能对输出的变量保持一定的洞察力。如果你想要更多的洞察力,这可以通过第二个参数来提供。具体如下

此命令应接受大多数输入“100Mb、100Mb、100Mb、100Mb、100bit、100b、100byte、100b”。如果您没有使用完整的单词,请确保您的注释正确:)

示例
jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py -c 100byte
╒══════════╤═══════════╕
│ Byte     │       100 │
╞══════════╪═══════════╡
│ Bit      │ 800.00000 │
├──────────┼───────────┤
│ Byte     │ 100.00000 │
├──────────┼───────────┤
│ Kilobit  │   0.78160 │
├──────────┼───────────┤
│ Kilobyte │   0.09760 │
├──────────┼───────────┤
│ Megabit  │   0.00076 │
├──────────┼───────────┤
│ Megabyte │   0.00010 │
├──────────┼───────────┤
│ Gigabit  │   0.00000 │
├──────────┼───────────┤
│ Gigabyte │   0.00000 │
├──────────┼───────────┤
│ Terabit  │   0.00000 │
├──────────┼───────────┤
│ Terabyte │   0.00000 │
╘══════════╧═══════════╛

如果要指定比标准5更多的小数位数,请提供第二个值作为整数:

jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py -c 100byte 10
╒══════════╤════════════════╕
│ Byte     │            100 │
╞══════════╪════════════════╡
│ Bit      │ 800.0000000000 │
├──────────┼────────────────┤
│ Byte     │ 100.0000000000 │
├──────────┼────────────────┤
│ Kilobit  │   0.7816000000 │
├──────────┼────────────────┤
│ Kilobyte │   0.0976000000 │
├──────────┼────────────────┤
│ Megabit  │   0.0007629600 │
├──────────┼────────────────┤
│ Megabyte │   0.0000953674 │
├──────────┼────────────────┤
│ Gigabit  │   0.0000007451 │
├──────────┼────────────────┤
│ Gigabyte │   0.0000000931 │
├──────────┼────────────────┤
│ Terabit  │   0.0000000007 │
├──────────┼────────────────┤
│ Terabyte │   0.0000000001 │
╘══════════╧════════════════╛

SSL检查

使用SSL Labs API根据请求的域-https://www.ssllabs.com/projects/ssllabs-apis/index.html检查SSL证书

它将提供一个滚动的输出,因为它扫描每个主机对一个域,并告诉你它在哪个阶段。在

一旦测试完成,它将为你提供每个主机的成绩和一个链接到完整的报告页面

示例

进展
jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py -ssl wintelguy.com
+----------+---------------+
|   Host   | wintelguy.com |
+==========+===============+
| Port     | 443           |
+----------+---------------+
| Protocol | http          |
+----------+---------------+
| Status   | IN_PROGRESS   |
+----------+---------------+
+------------+--------------+
| IP Address | 3.222.63.253 |
+============+==============+
| Status     | Ready        |
+------------+--------------+
| Grade      | B            |
+------------+--------------+
| Progress   | 100          |
+------------+--------------+
+--------------+------------------------+
|  IP Address  |      34.234.60.54      |
+==============+========================+
| Status       | In progress            |
+--------------+------------------------+
| Current Step | TESTING_BLEICHENBACHER |
+--------------+------------------------+
| Progress     | 90                     |
+--------------+------------------------+

完成
jack@jumpbox:~/python/lazy-network-engineer(master⚡) » python3 main.py -ssl https://wintelguy.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+------------+-----------------------+
|    Host    | https://wintelguy.com |
+============+=======================+
| Port       | 443                   |
+------------+-----------------------+
| Protocol   | http                  |
+------------+-----------------------+
| IP Address | 3.222.63.253          |
+------------+-----------------------+
| Grade      | B                     |
+------------+-----------------------+
| Warnings   | 0                     |
+------------+-----------------------+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+------------+-----------------------+
|    Host    | https://wintelguy.com |
+============+=======================+
| Port       | 443                   |
+------------+-----------------------+
| Protocol   | http                  |
+------------+-----------------------+
| IP Address | 34.234.60.54          |
+------------+-----------------------+
| Grade      | B                     |
+------------+-----------------------+
| Warnings   | 0                     |
+------------+-----------------------+
https://www.ssllabs.com/ssltest/analyze.html?d=https://wintelguy.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从Dropwizard中的Minio检索文件时,GET请求中的超时是如何处理的?   带Hibernate的java Jackson用于序列化以避免枚举   Raspberry Pi上的java Jave分段错误   java在屏幕旋转时不保存当前片段和数据   java War文件未在Heroku上正确部署   如何使用Java处理Selenium webdriver中的促销广告或cookie   java处理“用法:PApplet[options]<classname>[sketch args]”   java文本文件错误扫描程序   运行第一个JavaFX模块化程序时出现java异常   java将fileoutputstream转换为字符串   如何调试gstreamerjava?   java Spring RestTemplate ResponseBody类是什么样的   如何将JSON数组转换为Java列表。我在用斯文森   javascript在显示div按钮后进入新页面