All Projects → j-keck → Lsleases

j-keck / Lsleases

Licence: mit
list assigned ip from any device in your network

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Lsleases

Koa Ip
Ip filter middleware for koa, support whitelist and blacklist.
Stars: ✭ 37 (-57.95%)
Mutual labels:  ip
Pytcp
PyTCP is an attempt to create fully functional TCP/IP stack in Python. It supports TCP stream based transport with reliable packet delivery based on sliding window mechanism and basic congestion control. It also supports IPv6/ICMPv6 protocols with SLAAC address configuration. It operates as user space program attached to Linux TAP interface. As of today stack is able to send and receive traffic over Internet using IPv4 and IPv6 default gateways for routing. Since goal of this project is purely educational (at least at this point) the clarity of code is preferred over its efficiency. For the same reason security features are not being implemented just yet unless they are integral part of TCP/IP suite protocols specification.
Stars: ✭ 65 (-26.14%)
Mutual labels:  ip
Ship
A simple, handy network addressing multitool with plenty of features
Stars: ✭ 81 (-7.95%)
Mutual labels:  ip
Ipsubnet
Network calculator for subnet mask and other classless (CIDR) network information. ( GO )
Stars: ✭ 44 (-50%)
Mutual labels:  ip
Ipdata
🌐 An IP lookup system utilizing open datasets
Stars: ✭ 58 (-34.09%)
Mutual labels:  ip
Flask weather
☀️ ☔️ Flask app to auto-detect local weather based off of user's IP address.
Stars: ✭ 70 (-20.45%)
Mutual labels:  ip
Cdn dig
用于在linux 终端快速查询全国 CDN 调度到哪些区域节点的工具
Stars: ✭ 36 (-59.09%)
Mutual labels:  ip
Orangetool
📚 Control Functions For Single-Board Computers
Stars: ✭ 82 (-6.82%)
Mutual labels:  ip
Proxypool
Golang实现的IP代理池
Stars: ✭ 1,134 (+1188.64%)
Mutual labels:  ip
Trawl
⛵️ A strong fishing net for dragging along the sea bottom to collect IP addresses and similar flotsam & jetsam
Stars: ✭ 76 (-13.64%)
Mutual labels:  ip
Lenz
Console based MAP 🗺 : with lots of features 🤩
Stars: ✭ 51 (-42.05%)
Mutual labels:  ip
Piholecloudflared
Raspberry Pi setup with Pi-Hole, CloudflareD, DHCP as the ultimate Ad-blocker
Stars: ✭ 57 (-35.23%)
Mutual labels:  dhcp
Iplocation
Get ip location information.
Stars: ✭ 70 (-20.45%)
Mutual labels:  ip
Lua Libcidr Ffi
LuaJIT FFI bindings to libcidr. Provides CIDR calculations for IPv4 and IPv6.
Stars: ✭ 43 (-51.14%)
Mutual labels:  ip
Is Google
Verify that a request is from Google crawlers using Google's DNS verification steps
Stars: ✭ 82 (-6.82%)
Mutual labels:  ip
Laravel Ip Gateway
Laravel IP Gateway
Stars: ✭ 37 (-57.95%)
Mutual labels:  ip
Netboot
Packages and utilities for network booting
Stars: ✭ 1,157 (+1214.77%)
Mutual labels:  dhcp
China Operator Ip
中国运营商IPv4/IPv6地址库-每日更新
Stars: ✭ 1,255 (+1326.14%)
Mutual labels:  ip
Cloudfail
Utilize misconfigured DNS and old database records to find hidden IP's behind the CloudFlare network
Stars: ✭ 1,239 (+1307.95%)
Mutual labels:  ip
Downloads
AD Health Check, Send HTML Email, Ping machines, Encrypt Password,Bulk Password,Microsoft Teams,Monitor Certificate expiry, Monitor cert expiry, AD attributes, IP to Hostname, Export AD group, CSV to SQL,Shutdown, Restart, Local Admin, Disk Space, Account expiry,Restore Permissions, Backup permissions, Delete Files Older Than X-Days, export DHCP options,Read Registry,Distribution group AD attributes,Monitor Windows Services,Export Reverse DNS,Task Monitor,Monitor and alert, Exchange Health check,Get Network Info, Export AD Attributes,AD group members, Office 365 Group member, SQL to CSV, Outlook save send attachments, Upload files to FTP,Exchange – Total Messages Sent Received, Set Teams Only Mode, Intune Duplicate Device,Intune Cleanup Not Evaluated, Ownership and Grant Permissions, Write Create Modify Registry , Organization Hierarchy from AD,Azure AD Privileged Identity Management,Intune – Export MAM Devices,Intune Marking devices as Corporate, Dynamic to Static Distribution Group,Monitor Alert Office 365 services,Group Member Count,Bulk Addition external users sharepoint, ADD to Exchange online License Group,All in One Office 365 Powershell,Bulk Addition of Secondary Email, Automate move mailboxes to o365, Addition Modification Termination Exchange users, Monitoring Unified Messaging port,Unified Messaging Extensions Report, Set Default Quota for SharePoint,Bulk Contact Creation and Forwarding, Uploading and Downloading files sftp, Monitoring Sftp file and download, Office 365 groups Write back, CSV parser, Email address update, Email address modify, MDM enrollment, Welcome Email, Intune Welcome Email, remove messages, remove email, SKOB to AD, SKOB to group, PowerApps report, Powerautomate Report, Flow report, Server QA, Server Check List, O365 IP range, IP range Monitor, o365 Admin Roles, memberof extraction, CSV to Excel, Skype Policy, UPN Flip, Rooms Report, License Reconciliation,Intune Bulk Device Removal, Device Removal, Clear Activesync, Lync Account Termination,Lync Account Removal, Enable office 365 services, Enable o365 Services, Export PST, Site collection Report, Office 365 Group Sites, System Admin,ActiveSync Report,White Space,Active Directory attributes, outlook automation, Intune Detect App, Distribution list Fix, Legacy DN, start service, stop service, disable service, Message tracking, Distribution lists report,Distribution groups report,Quota Report, Auto reply, out of office, robocopy multi session, Home Folder, local admin, Database, UPN SIP Mismatch, Recoverable deleted, teams number, Number assignment, teams phone, AD Group Hierarchy, Hierarchy membership, Sync Groups
Stars: ✭ 75 (-14.77%)
Mutual labels:  dhcp
  • lsleases - list dynamic assigned ip addresses in your network

lsleases captures broadcast 'DHCP request' datagrams from any device \ (pc, laptop, virtual machine, phone, raspberry, esp32, ...) with dynamic ip addresses in your local network.

You can list the captured ip addresses to lookup an assigned ip for a device.

/For more information, check the [[docs/manual.org][Manual]]./

  • Usage

1.) install lsleases - see [[#installation][Installation]]

2.) re-plug / start-up any device with a dynamic ip address

3a.) list captured devices

#+BEGIN_EXAMPLE [email protected]:~ ⟩ lsleases Ip Mac Host 192.168.1.152 80:d0:9b:xx:xx:xx android-6298296f6184995a 192.168.1.122 b8:27:eb:xx:xx:xx raspberrypi 192.168.1.155 5c:cf:7f:xx:xx:xx NODE-931BFD #+END_EXAMPLE

3b.) or if you start lsleasesd with the '-webui' option, you can open your browser at http://127.0.0.1:9999 to access the integrated webapp.

[[./docs/webui-screenshot.png]]

/You can use lsleases as a go library in your own programs: [[#lsleases-go-library][lsleases go library]]/

  • Installation

/I will provide standalone binaries for each platform in the coming days./

! If no leases are captured, make sure your firewall has port 67 (DHCP) open !

#+BEGIN_SRC shell :eval no sudo iptables -I INPUT -p udp --dport 67 -j ACCEPT #+END_SRC

check the [[docs/manual.org][Manual]] for a description.

  • [[#debian--ubuntu][Debian / Ubuntu]]
  • [[#redhat--fedora][Redhat / Fedora]]
  • [[#windows][Windows]]
  • [[#osx][OSX]]
  • [[#freebsd][FreeBSD]]
  • [[#build-from-source-client--server][Build from source (client / server)]]
  • [[#build-from-source-standalone][Build from source (standalone)]]

*** Debian / Ubuntu

1.) download the .deb package from [[http://github.com/j-keck/lsleases/releases/latest]]

2.) install the package sudo dpkg -i lsleases--.deb

3.) activate the service sudo systemctl enable lsleasesd

4.) start the daemon sudo systemctl start lsleasesd

*** RedHat / Fedora

1.) download the .rpm package from [[http://github.com/j-keck/lsleases/releases/latest]]

2.) install the package sudo rpm -i lsleases--.rpm

3.) activate the service sudo systemctl enable lsleasesd

4.) start the daemon sudo systemctl start lsleasesd

*** Windows

I provide two packages for windows:

  • lsleases---windows-installer.exe
  • lsleases---windows-standalone.zip

check [[docs/manual-windows.org][Windows Manual]] for more information.

1.) download the package from [[http://github.com/j-keck/lsleases/releases/latest]]

2.) install per installer or unzip the standalone package

*** OSX

1.) download the lsleases---osx-standalone.zip package from [[http://github.com/j-keck/lsleases/releases/latest]]

2.) unpack the zip archive and go into the lsleases directory

3.) execute ./capture-leases.sh

*** FreeBSD

1.) download the lsleases--amd64-freebsd.txz package from [[http://github.com/j-keck/lsleases/releases/latest]]

2.) install the package sudo pkg install lsleases--amd64-freebsd.txz

3.) allow unprivileged users open ports less than 1024 (lsleasesd runs as user nobody) #+BEGIN_SRC shell :eval no echo net.inet.ip.portrange.reservedhigh=0 | sudo tee -a /etc/sysctl.conf sudo service sysctl restart #+END_SRC

4.) activate the service sudo sysrc lsleasesd_enable=YES

5.) start the daemon sudo service lsleasesd start

*** Build from source (client / server)

1.) fetch the server #+BEGIN_SRC shell :eval no go get -u github.com/j-keck/lsleases/cmd/lsleasesd #+END_SRC

2.) start the server #+BEGIN_SRC shell :eval no sudo $GOPATH/bin/lsleasesd & #+END_SRC

3.) fetch the client #+BEGIN_SRC shell :eval no go get -u github.com/j-keck/lsleases/cmd/lsleases #+END_SRC

4.) run the client #+BEGIN_SRC shell :eval no $GOPATH/bin/lsleases -w #+END_SRC

see the [[/docs/manual.org#build-from-source][Manual]] for more information.

*** Build from source (standalone)

For a quick test you can use the standalone mode without the server component. In this mode it does not run in the background, has no cache and supports no webui.

1.) fetch the client #+BEGIN_SRC shell :eval no go get -u github.com/j-keck/lsleases/cmd/lsleases #+END_SRC

2.) run the client in the standalone mode #+BEGIN_SRC shell :eval no sudo $GOPATH/bin/lsleases -s #+END_SRC

see the [[/docs/manual.org#build-from-source][Manual]] for more information.

  • lsleases go library

You can use lsleases as a go library in your own programs. For example to trigger any custom action on device discovery.

#+BEGIN_SRC go :tangle examples/simple-sniffer.go :mkdirp yes :eval no package main

import "github.com/j-keck/lsleases/pkg/sniffer" import "github.com/j-keck/lsleases/pkg/config" import "github.com/j-keck/plog"

func main() { // create a logger instance log := plog.GlobalLogger().Add(plog.NewDefaultConsoleLogger())

// create the sniffer with the default configuration cfg := config.NewDefaultConfig() sniffer := sniffer.NewSniffer(cfg)

// subscribe to DHCP leases events and log the events go func() { leasesC := sniffer.Subscribe(10) for { lease := <-leasesC log.Infof("new lease: %s", lease.String()) } }()

if err := sniffer.Start(); err == nil { log.Info("sniffing ... - hit to abort -") select {} } else { panic(err) } } #+END_SRC

#+BEGIN_SRC shell :eval no GO111MODULE=on sudo go run examples/simple-sniffer.go #+END_SRC

  • Changelog

see [[docs/changelog.org][Changelog]]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].