scapy.contrib.socks

SOCKS4/5 Protocol

You can change the server ports that are used in the SOCKS layer by editing. conf.contribs[‘socks’][‘serverports’]

class scapy.contrib.socks.SOCKS(_pkt, /, *, vn=5)[source]

Bases: Packet

add_payload(payload)[source]
aliastypes = [<class 'scapy.contrib.socks.SOCKS'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SOCKS).vn>]
guess_payload_class(pkt)[source]
class scapy.contrib.socks.SOCKS4Reply(_pkt, /, *, cd=90, dstport=80)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.socks.SOCKS4Reply'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SOCKS4Reply).cd>, <ShortField (SOCKS4Request,SOCKS4Reply).dstport>]
class scapy.contrib.socks.SOCKS4Request(_pkt, /, *, cd=1, dstport=80, dst='0.0.0.0', userid=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.socks.SOCKS4Request'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SOCKS4Request).cd>, <ShortField (SOCKS4Request,SOCKS4Reply).dstport>, <IPField (SOCKS4Request).dst>, <StrNullField (SOCKS4Request).userid>]
class scapy.contrib.socks.SOCKS5Reply(_pkt, /, *, rep=0, res=0, atyp=1, addr=None, port=80)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.socks.SOCKS5Reply'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SOCKS5Reply).rep>, <ByteField (SOCKS5Request,SOCKS5Reply).res>, <ByteEnumField (SOCKS5Request,SOCKS5Reply,SOCKS5UDP).atyp>, <scapy.fields.MultipleTypeField object>, <ShortField (SOCKS5Request,SOCKS5Reply,SOCKS5UDP).port>]
class scapy.contrib.socks.SOCKS5Request(_pkt, /, *, cd=0, res=0, atyp=1, addr=None, port=80)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.socks.SOCKS5Request'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SOCKS5Request).cd>, <ByteField (SOCKS5Request,SOCKS5Reply).res>, <ByteEnumField (SOCKS5Request,SOCKS5Reply,SOCKS5UDP).atyp>, <scapy.fields.MultipleTypeField object>, <ShortField (SOCKS5Request,SOCKS5Reply,SOCKS5UDP).port>]
class scapy.contrib.socks.SOCKS5UDP(_pkt, /, *, res=0, frag=0, atyp=1, addr=None, port=80)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.socks.SOCKS5UDP'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SOCKS5UDP).res>, <ByteField (SOCKS5UDP).frag>, <ByteEnumField (SOCKS5Request,SOCKS5Reply,SOCKS5UDP).atyp>, <scapy.fields.MultipleTypeField object>, <ShortField (SOCKS5Request,SOCKS5Reply,SOCKS5UDP).port>]
guess_payload_class(s)[source]