Skip to content

Instantly share code, notes, and snippets.

@zarzen
Last active November 12, 2021 04:01
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save zarzen/1de31629d5167ab197ca393b983ac277 to your computer and use it in GitHub Desktop.
Save zarzen/1de31629d5167ab197ca393b983ac277 to your computer and use it in GitHub Desktop.
using scapy create tcp packet and catch it by wireshark
from scapy.all import *
def main():
"""
"""
packet = IP(dst="192.168.100.123")/TCP()/"from scapy packet"
send(packet)
def packet_with_seq_n():
packet = IP(dst="192.168.100.123", src="192.168.100.144")/TCP(sport=333, dport=222, seq=112344)/"Sequence number 112344"
send(packet)
# we can use sendp to choose different network interface
sendp(packet, iface="en0")
# lsc() can see functions descriptions.
if __name__ == "__main__":
main()
packet_with_seq_n()
import sys
from scapy.all import *
from datetime import datetime
test_content = """HTTP/1.1 200 OK\r\nDate: Wed, 22 Nov 2017 02:13:40 GMT\r\nServer: Apache/2.2.22 (Ubuntu)\r\nLast-Modified: Tue, 21 Nov 2017 04:35:07 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 177\r\nKeep-Alive: timeout=500, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/html\r\n\r\n<html><body><h1>It !!!!!!</h1>
<p>This is the default web page for this server.!!!!!</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>""" + datetime.now().strftime("%m/%y %H:%M:%S")
def main():
""""""
dst_ip = sys.argv[1]
dst_port = int(sys.argv[2])
src_ip = sys.argv[3]
src_port = int(sys.argv[4])
seq_n = int(sys.argv[5])
ack_n = int(sys.argv[6])
ip_id = int(sys.argv[7])
ip_flags = int(sys.argv[8])
# build packet
ip = IP(src=src_ip, dst=dst_ip, id=ip_id, flags=ip_flags)
tcp = ip / TCP(sport=src_port, dport=dst_port, flags='PA',
seq=seq_n, ack=ack_n) / test_content
tcp.display()
print("length of packet {}".format(len(tcp)))
send(tcp)
if __name__ == '__main__':
main()

using filter:

ip.dst==192.168.100.123
@n3kk4h
Copy link

n3kk4h commented Apr 2, 2019

what the difference between send-packet.py and send.py?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment