{"id":13826994,"url":"https://github.com/ickerwx/arpspoof","last_synced_at":"2025-07-09T02:33:04.037Z","repository":{"id":28735423,"uuid":"32256754","full_name":"ickerwx/arpspoof","owner":"ickerwx","description":"ARP poisoning tool written in python with command line interface to add and remove targets on the fly","archived":false,"fork":false,"pushed_at":"2016-12-19T20:08:39.000Z","size":120,"stargazers_count":36,"open_issues_count":0,"forks_count":21,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-05T09:15:52.994Z","etag":null,"topics":["arp-poisoning","arpspoof","gateway","penetration-testing","python","scapy","spoofing"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ickerwx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-15T11:22:34.000Z","updated_at":"2024-01-17T15:58:41.000Z","dependencies_parsed_at":"2022-08-27T12:02:27.185Z","dependency_job_id":null,"html_url":"https://github.com/ickerwx/arpspoof","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickerwx%2Farpspoof","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickerwx%2Farpspoof/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickerwx%2Farpspoof/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickerwx%2Farpspoof/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ickerwx","download_url":"https://codeload.github.com/ickerwx/arpspoof/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225481129,"owners_count":17481158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arp-poisoning","arpspoof","gateway","penetration-testing","python","scapy","spoofing"],"created_at":"2024-08-04T09:01:48.116Z","updated_at":"2024-11-20T06:30:41.307Z","avatar_url":"https://github.com/ickerwx.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"295e14c39bf33cd5136be8ced9383746\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"f855508acfc870b1f0d90ff316f1dd75\"\u003e\u003c/a\u003e伪造\u0026\u0026Spoof"],"readme":"# arpspoof.py - An ARP poisoning tool\narpspoof.py is a small tool I wrote because I was annoyed with  my ARP spoofing workflow. Also, I wanted to brush up my scapy knowledge.\n\n## Dependencies\nYou will need scapy and Python 2, nothing else.\n\n## Usage\n\n```\n$ python2 arpspoof.py -h\nusage: arpspoof.py [-h] [-i INTERFACE] -t TARGETS -g GATEWAY\n\nDo ARP poisoning between a gatway and several targets\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -i INTERFACE, --interface INTERFACE\n                        interface to send from\n  -t TARGETS, --targets TARGETS\n                        comma-separated list of IP addresses\n  -g GATEWAY, --gateway GATEWAY\n                        IP address of the gateway\n```\n\nAs you can see from the output above, the typical usage scenario is that you want to intercept data between one gateway and one or more targets. The -t and -g parameters are required, the -i parameter might be useful if you have multiple connected interfaces.\n\n```\n$ sudo python2 arpspoof.py -t 192.168.1.234 -g 192.168.1.1\nUsing interface wifi0 (60:67:20:42:fb:de)\narpspoof#\n```\n\nAfter starting, you will find yourself at a command prompt. At this time, the ARP poisoning is already going on in the background.\n\n```\narpspoof# help\nadd \u003cIP\u003e: add IP address to target list\ndel \u003cIP\u003e: remove IP address from target list\nlist: print all current targets\nexit: stop poisoning and exit\narpsoof#\n```\n\nTyping help will bring up a list of commands.\n\n- add/del will modify the list of targets. At the moment, I haven't found the need to change the gateway, so this is not possible right now\n- list will list all current targets and the gateway\n- exit will exit, who would have thought...\n\n```\narpspoof# list\nCurrent targets:\nGateway: 192.168.1.1 (00:00:00:00:00:01)\n192.168.1.234 (00:00:00:00:00:02)\narpspoof# exit\nStopping the attack, restoring ARP cache\nARP 192.168.1.1 is at 00:00:00:00:00:01\nARP 192.168.1.234 is at 00:00:00:00:00:02\nARP 192.168.1.1 is at 00:00:00:00:00:01\nARP 192.168.1.234 is at 00:00:00:00:00:02\nARP 192.168.1.1 is at 00:00:00:00:00:01\nARP 192.168.1.234 is at 00:00:00:00:00:02\nRestored ARP caches\n$\n```\n\nAfter receiving the exit command, arpspoof.py will restore the ARP caches of the gateway and the targets by sending three correct ARP responses.\n\n## TODO\n- implement a command to change the gateway\n- find a less ugly way of implementing the command prompt logic","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fickerwx%2Farpspoof","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fickerwx%2Farpspoof","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fickerwx%2Farpspoof/lists"}